900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > linux添加文件后无法启动 linux安装后grub无法启动

linux添加文件后无法启动 linux安装后grub无法启动

时间:2021-01-02 20:02:53

相关推荐

linux添加文件后无法启动 linux安装后grub无法启动

解决办法如下:

使用启动优盘启动后

1、查看分区情况

sudo fdisk -lu /dev/sda

显示如下:

Disk /dev/sda: 500.1 GB, 50010786 bytes

255 heads, 63 sectors/track, 60801 cylinders, total 976773168 sectors

Units = sectors of 1 * 512 = 512 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk identifier: 0xde6c93b8

Device Boot Start End Blocks Id System

/dev/sda1 63 58589054 29294496 83 Linux

/dev/sda2 58589184 976773119 459091968 5 Extended

/dev/sda5 58591232 967903231 454656000 83 Linux

/dev/sda6 967905280 976773119 4433920 82 Linux swap / Solaris

2、将system为linux的分区挂载

sudo mount /dev/sdax /mnt #x为/所在的分区

sudo mount /dev/sdax /mnt/boot #当/boot为单独分区

若没有/mnt/boot,可以使用mkdir创建

3、修复grub

sudo grub-install --root-directory=/mnt /dev/sda

参考资料:

/s/blog_a2d4803001013vqk.html

当使用grub-install出现提示,没有文件或命令时,可尝试以下方法:

原因:grub没有在系统所在分区找到命令文件

1、重启进入grub rescue #出错信息为error: file not found

2、使用set命令查看prefix和root

3、使用ls命令查看硬盘分区 #显示(hd0,msdos1)等

(hd0,msdos1)相当于sda1,以此类推。

4、逐个硬盘分区查找系统和grub命令文件所在位置

系统查找:ls (hd……)/ #注意不要丢掉'/'

#若结果出现许多系统文件,则可能为系统所在分区

#但绝大多数情况下,由于安装系统时已经选择了分区,因此此步主要是验证

grub命令文件查找:ls (hd……)/boot/grub

#若出现大量mod文件,则为grub命令文件所在位置

5、根据前一步的结果设置prefix和root

set prefix=(hd……)/boot/grub #grub命令文件所在位置

set root=(hd……) #系统文件所在分区

6、insmod normal #加载normal模块

7、normal #进入normal模式

8、insmod linux #加载linux命令模块

9、linux /boot/vmlinuz-…… root=/dev/sdXY ro #载入linux核心

#vmlinuz-……文件应该在系统文件/boot里,可使用tab自动补全

#sdXY为系统所在分区,例如sda1。应根据前面查找结果确定

#不要丢掉最后的'ro'

10、initrd /boot/initrd-…… #加载initrd

11、boot #启动系统

12、前面所做修改实际上并没有写入grub,因此需在启动系统保存设置

可使用updata-grub和grub-install修复

参考资料:

/community/Grub2/Troubleshooting

附:除以上方法,可使用boot-repair

boot-repair是一个图形化界面的grub修复工具

建议下载iso文件,刻录启动盘或制作启动u盘

具体信息参考:/community/Boot-Repair

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。