所以我已经用最新的内核升级了Ubuntu。但是在升级之后,当我重新启动Ubuntu之后,我得到的只是GRUB。当我只有GRUB时,如何再次加载Ubuntu?
我使用wubi安装了Ubuntu。
感谢堆的帮助
所以我已经用最新的内核升级了Ubuntu。但是在升级之后,当我重新启动Ubuntu之后,我得到的只是GRUB。当我只有GRUB时,如何再次加载Ubuntu?
我使用wubi安装了Ubuntu。
感谢堆的帮助
Answers:
如果出现grub
提示,并且系统和内核仍安装在分区上,则可以“手动”引导系统-即无需工作grub.cfg的帮助。这也适用于从实时媒体运行的grub。为此,grub包含一个基本命令ine,您可以使用它查找分区并引导系统。
find /vmlinuz
这应该给您像(hd0,0)这样的分区。您还可以使用该ls
命令在分区上四处查看,以查看可用的内核。该search
命令的工作原理与此类似。您还可以使用制表符补全。
set root=(hd0,1)
当然,请使用find
显示的内容替换分区标识符。
linux /vmlinuz root=/dev/sda1
initrd /initrd.img
选择内核映像和initrd映像,这是一对始终需要一起使用的映像。幸运的是,Ubuntu在根目录中创建了一对指向工作映像和initrd的符号链接。请注意,您需要/dev/sda1
用Linux内核使用的方案中的分区表示替换。大致(hd0,1)
相当于/dev/sda1
; (hd0,2) corresponds to
/ dev / sda2 ;
(hd1,1)对应于/dev/sdb1
。
boot
这将从所选分区中引导所选内核。一旦你已经成功地引导你的系统,你可以用它来恢复grub,如详尽如这里。
上面的前提是假设Ubuntu会定期安装,即安装在其自己的单独分区中。在撰写本文时,您使用了Wubi,这意味着您使用称为“ Lupin”的技术将其安装到Windows(NTFS)分区上的大文件中。尽管过程更加复杂,但我认为没有任何理由在原理上不可行。这是grub.cfg
基于Wubi安装的内容:
insmod part_msdos
insmod ntfs
set root='(hd0,msdos5)'
search --no-floppy --fs-uuid --set be300f9c300f5ab3
loopback loop0 /ubuntu/disks/root.disk
set root=(loop0)
linux /boot/vmlinuz root=/dev/sda1 loop=/ubuntu/disks/root.disk
initrd /boot/initrd.img
您需要根据具体情况对此进行调整。在此片段中(从10.10安装中获取),该search
命令使用文件系统UUID或标识符来查找根分区,而您大概不知道。您可以--file --set /ubuntu/disks/root.disk
改用(这是官方文档)。这种grub配置在您的NTFS分区上创建了一个虚拟磁盘-一个“回送设备”,loop0
它代表“分区文件”的内容/ubuntu/disks/root.disk
。通过反复试验,您应该可以完成这项工作。
error: unknown command find'.
linux
和initrd
用RESP。linuxefi
和initrdefi
。