首页 > 技术文章 > liveCD修复Grub Ubuntu 14.03

pengwu 2015-11-06 22:48 原文

1. 首先制作USB启动盘,使用Universal-USB-Installer软件制作即可。

2. 启动进入try ubuntu系统后,进入terminal输入如下命令:

1 sudo fdisk -l 罗列出分区,记录Ubuntu根分区以及boot分区安装位置
2 sudo -i (获得root特权)
3 mount /dev/sdaX /mnt (X为记录下的Ubuntu根分区)
4 mount /dev/sda* /mnt/boot (*为Ubuntu /boot的分区, /boot没有单独分,不执行此行)
5 grub -install --root directory=/mnt/  /dev/sda

3. 执行grub -install 可能需要安装grub2, 不幸的是,安装了grub,reboot后直接进入grub命令行;此时需要进入系统,在grub命令行输入

1 grub>root (hd0,X) 需要查询
2 grub>setup (hd0,X) 同上 
3 grub>kernel /vm-2.6.  内核版本号 ro root=/dev/sdaX (X为Ubuntu所在地方)
4 grub>initrd /initramfs-2.6.内核版本号
5 grub>boot 

4. 进入系统后修改 etc/default/grub 修改,并 update-grub

5. 关于grub配置:

 1 : /etc/default/grub  
 2 # 设定默认启动项,推荐使用数字  
 3 GRUB_DEFAULT=0  
 4 # 注释掉下面这行将会显示引导菜单  
 5 #GRUB_HIDDEN_TIMEOUT=0  
 6 # 黑屏,并且不显示GRUB_HIDDEN_TIMEOUT过程中的倒计时  
 7 GRUB_HIDDEN_TIMEOUT_QUIET=true  
 8 # 设定超时时间,默认为10秒  
 9 # 设定为-1取消倒计时  
10 GRUB_TIMEOUT=10  
11 # 获得发行版名称(比如Ubuntu, Debian)  
12 GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`  
13 # 将会导入到每个启动项(包括recovery mode启动项)的'linux'命令行  
14 GRUB_CMDLINE_LINUX=""  
15 # 同上,但是只会添加到 normal mode 的启动项  
16 GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"  
17 # 取消注释以允许图形终端(只适合grub-pc)  
18 #GRUB_TERMINAL=console  
19 # 分辨率设定,否则采用默认值  
20 #GRUB_GFXMODE=640x480  
21 # 取消注释以阻止GRUB将传递参数 "root=UUID=xxx" 传递给 Linux  
22 #GRUB_DISABLE_LINUX_UUID=true  
23 # 取消启动菜单中的“Recovery Mode”选项  
24 #GRUB_DISABLE_LINUX_RECOVERY="true"  
25 # 当GRUB菜单出现时发出鸣音提醒  
26 #GRUB_INIT_TUNE="480 440 1"  
27 配置进阶  
28 获得当前GRUB2有效的启动项  
29 $ grep menuentry /boot/grub/grub.cfg  
30 配置默认启动项  
31 GRUB_DEFAULT=x  
32 注释:x为数字,以指定启动列表中第x项为启动项,x从0开始计数  
33 GRUB_DEFAULT=”xxxx”  
34 注释:指出具体的启动项名称,例如GRUB_DEFAULT=”Ubuntu, Linux 2.6.31-9-generic”  
35 GRUB_DEFAULT=saved  
36 注释:该项将使用grub-set-default和grub-reboot命令来配置默认启动项  
37 例如:  
38 $ sudo grub-set-default 0  
39 上面这条语句将会持续有效,直到下一次修改;下面的命令则只有下一次启动的时候生效:  
40 $ sudo grub-reboot 0  
41 将下次选择的启动项设为默认  
42 只需要在/etc/default/grub中添加这行  
43 GRUB_SAVEDEFAULT=true  
44 隐藏引导菜单  
45 GRUB_HIDDEN_TIMEOUT=X  
46 注释:启动过程中,黑屏X秒后引导默认的启动项  
47 注意1:启动过程中按SHIFT可以显示菜单  
48 注意2:如果等号后面不跟任何值,也将会显示引导菜单  
49 取消倒计时  
50 GRUB_TIMEOUT=-1

6. 到此处就完成设置,但是以上的方法可能走了弯路,猜测:原本可以直接利用liveCD进入后,在root目录下修改etc/default/grub文件的参数即可。

 

推荐阅读