因为windows下的系统的deepin用起来超不爽,感觉问题可多,所以决定重装一个系统,但是在deepin下使用了wubi安装了ubuntu,因为电脑的空间不怎么足,当时是装在了c盘。所以将ubuntu这个文件夹还有c盘的boot.ini拖到了d盘。



        装完系统,然后将d盘的ubuntu托进c盘,在现有c盘的boot.ini后面添加上c:\wubildr.mbr="ubuntu",并且将/ubuntu/winboot/中的wubildr.mbr和wubildr拖到c盘,这两个文件是ubuntu的引导文件。就相当于经常用的grub4dos。



       重启,开机。选择登录项ununtu,然后提示error:no such device :4929-2324(这个数字是不一样的)



                                                                          error: *.过了一段时间,提示了initramfs输入行。



刚开始不知道什么问题,重启,继续选择ubuntu,然后选择你要登录的核心,按“c”键。



进入grub,但是想的是试试从grub引导,结果试了下不用root(hd*,*)可以直接找到内核.



然后:kernel /boot/vmlinuz-* ro root = /dev/sdb1 quiet splash(我是双硬盘)



结果提示不能找到command kernel。所以initrd肯定也是加载不上的。然后摁ESC,



选择要登录的内核,摁“e”键



很巧,发现了上面的4929-2324.



如下:search --no-flooy --fs--uuid  --set 4929-2324



下面还有一项 :**** root = 4929-2324 ro quiet spalsh。



然后google了一下uuid。



uuid: UUID是一个标帜你系统中的存储设备的字符串,其目的是帮助使用者唯一的确定系统中的所有存储设备。



原来是重装了系统uuid发生了变化,导致ubuntu在登录的时候不能找到符合当初的时候的uuid。



然后返回到grub;



grub)ls (h     <-tab(使用tab键自动补齐),选择你装ubuntu的盘



然后会显示一个数字和字母的混合,记下来。



然后ESC--->e 键



将原来的4929-2324修改为刚抄到的uuid。我将root=后面的也换了,然后ctrl+x。



还是不行,但是和原来的提示不一样了,看来是找到了设备,但是还是不能启动



重启。 e键 将root = 后面改为 /dev/sdb1 。ctrl+x。



有一个提示,好像是booting command line.



然后进入到了你熟悉的界面



然后sudo update-grub2.



ok,问题解决。






注,查找uuid的也可以用如下操作:



在进入了initramfs后,



 initramfs)ls -l /dev/disk/by-uuid.



他会显示所有的uuid并且后面有对应的盘符。(注,linux和windows下的标识都有。)









网上说:可以使用live cd和grub4dos,修改引导,但是没有亲测,不知道可不可以。





转载于:https://blog.51cto.com/colive/623223