前一篇文章介绍了如何在只有Windows系统可以启动的情况下,通过BCDEdit和Grub4Dos来启动Linux系统。可是这样启动Linux实际上运行了两次Boot程序。既然通过上述方法已经可以进入Linux系统了,那么不如重新设置和安装Linux下原有的Grub。当前GRUB已经升级到GRUB2,其动作方式有很大的不同。menu.lst文件没有了(开始有点摸不着头脑,有点像boot.ini没有了换成BCD的感觉)。 其实GRUB2已经不再要手动配置启动文件,这样也就不需要menu.lst文件了[1]

让Linux下的GRUB2重新获得mbr,而且还能够Boot所有的系统的步骤如下:

 

1. 更新GRUB2的启动配置文件,探索系统中以存在的系统(包括Windows系统)

          sudo update-grub

 

2. 将GRUB2重新安装并载入为mbr

          sudo grub-setup /dev/sdXX[2]

 

3. 重起系统,就可以通过Linux下的GRUB2启动所有的系统了。

 

[1] GRUB2的配置文件为/boot/grub/grub.cfg,通过update-grub程序将会自动跟新。不建议手动更新!

[2] /dev/sdXX为根文件系统所存在的分区

[2] grub-install也可以用来重新安装GRUB2,一般是从LiveCD中运行的时候,指定--root-directory选项。

 

补充:

从GRUB升级到GRUB2的步骤:

 

1. 安装grub-pc, grub-common包,

 

   sudo apt-get install grub-pc grub-common

 

    安装过程中会提示将GRUB2首先安装到GRUB的chainloader中,进行GRUB2启动测试。

 

2. 升级到GRUB2

    sudo upgrade-from-grub-legacy

 

3. 察看一些GRUB2的基本信息

    sudo grub-install -v     #获得GRUB2版本, 1.96以后的版本均为GRUB2

    sudo grub-probe -t device /boot/grub    #获得GRUB安装的分区

    sudo grub-probe -t fs_uuid /boot/grub   #获得GRUB安装的文件系统UUID

 

4. 探索主机中存在的系统,并且更新启动配置文件。

    sudo update-grub

  

GitHub 加速计划 / li / linux-dash
10.39 K
1.2 K
下载
A beautiful web dashboard for Linux
最近提交(Master分支:2 个月前 )
186a802e added ecosystem file for PM2 4 年前
5def40a3 Add host customization support for the NodeJS version 4 年前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐