window(win7)+linux(ubuntu)双系统的安装以及windows重装后的引导修复问题

时间:2022-01-24 07:09:19

一、双系统的安装

1、下载msdn的iso刻录成win7光盘,官方下载ubuntu  iso刻录成光盘。

2、先安装win7。

      由于直接用win7光盘分区时只能是主分区,而且会有100m的保留分区,所以使用系统自带的diskpart工具。在分区界面直接按shift+F10,打开命令行,输入diskpart,打开diskpart工具。关于diskpart的使用参考《怎样用Diskpart进行分区》

      注:在分区的过程中,可以保留一部分扩展分区,不直接先分为逻辑分区,以备ubuntu使用。

3、再安装ubuntu。

      ubuntu分区,在界面列表中找到“空闲”,点击它。

      分“/”根目录,请选择逻辑分区,大小10G-20G。

      分swap,具体大小请百度

      分/boot,200M

      分/home,剩余所有。

      “安装启动引导器的设备”选择“/dev/sda”。

4、修改grub列表启动顺序,一般还是以使用window系统为主,所以需要修改列表顺序。

      sudo chmod +w /boot/grub/grub.cfg           #grub.cfg默认为只读,要修改前先设为可写

      sudo gedit /boot/grub/grub.cfg

      找到win7的menuentry,剪切放到第一个menuentry的前面,保存。

      若要更改grub界面的倒计时,找到timeout=10,按需要修改。

二、window重装后grub修复

      由于某些原因,win7进行了重装,此时系统启动时就直接进入了win7,所以需要重新安装grub。

1、使用ubuntu安装光盘,选择“试用ubuntu”,这样就进入了光盘版的ubuntu系统。

2、打开终端,输入sudo fdisk -l,假如查询得到“/”分区是“/dev/sda8”,“/boot”分区是“/dev/sda10”(如果没有/boot单独分区请忽略)

      在终端下输入:

      sudo mount /dev/sda8 /mnt

      sudo mount /dev/sda10 /mnt/boot (如果没/boot 单独分区这步跳过)

      sudo grub-install --root-directory=/mnt /dev/sda

      如果grub.cfg己丢失,或grub.cfg出现错误,需要重建的继续执行下面操作:

      mount --bind /proc /mnt/proc

      mount --bind /dev /mnt/dev

      mount --bind /sys /mnt/sys

      chroot /mnt update-grub

      umount /mnt/sys

      umount /mnt/dev

      umount /mnt/proc

3、此时grub界面选择win7时可能会报错:no such device:XXXXXXXXXXXXXXX 按任意键继续,但过几秒后win7系统可以自动正常进入。

      XXXXXXXXXXXXXXX其实就是uuid,因为win7的重装已经与原来的grub.cfg文件中记录的uuid不匹配导致的。

      在ubuntu系统终端输入sudo blkid,找到新win7的uuid。

      修改grub.cfg文件,找到win7的menuentry中的“search --no-floopy --fs-uuid --set=root XXXXXXXXXXXXXXX”,修改成新的uuid即可。