u盘的grub引导硬盘linux进入initramfs

u盘的grub引导硬盘linux进入initramfs,第1张

在linux /boot/vmlinuz这一行后面添加root=/dev/sda1

不是grub太复杂,而是你没有搞清楚grub只是一个引导程序,grub将内核文件装入后就将控制权交给内核了,内核的引导参数需要你自己配置,你这个配置就没有告诉内核从哪装入root(前面的set root只是告诉grub从哪儿找到vmlinuz),所以无法启动的。

当然还要注意的一点是grub的设备号很容易受设备的变动影响而发生改变的,如硬盘通常是sda1,但从USB启动往往会导致USB变为sda1而硬盘变为了sda2,所以最好是用uuid定位设备。

initramfs启动错误提示,是因为VMware安装linux在物理硬盘并没有更新grub所致,没关系,我也经历过。parrot os反复重装后发现了真正的解决方案。

1,(initramfs)blkid。查看并找到linux根目录所在,“dev/sdxx:uuid=?”。当然,也可以通过其他方法得到相关信息,比如DG。

2, reboot电脑,在出现grub引导列表时,按下“e”。这是为了“edit”引导列表,以进入linux进一步修改。

3,“Loading Linux............”下面那行,“...........root=/dev/sda5 ro............" 改成 "..........root=/dev/sdxx rw..........." 然后,按F10 重新引导启动。这里,dev/sdxx就是你在第一步查看到的。

截至目前,你已经可以进入Linux了,但是,不是一劳永逸,还需要进一步修改/boot/grub

4,进入Linux后,打开终端,以管理员身份update-grub。更新扫描所有可启动项,生成新的启动引导列表。也就是将/dev/sdxx的引导方式更新为uuid。因为,在不同电脑,硬件的/dev/sdxx顺序不同,但是uuid是不变的。

最后,你可以打开/boot/grub/grub.cfg确认是否更新成功。

现在,你可以重启/关机了,enjoy你的linux to go移动硬盘了。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/8324924.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-15
下一篇2023-04-15

发表评论

登录后才能评论

评论列表(0条)

    保存