Ubuntu装Win7双系统

最近朋友老是推荐我装Win7,禁不住劝告就装了一下试试。一般来说要先装Windows再装Linux,这个地球人都知道。因为windows回覆盖MBR的引导记录,如果预先装了Linux那你就倒霉了(现在有了grub4dos情况好一点了)。反观Linux,因为有神器grub什么都能引导,那就不用怕覆盖了:)。

我已经装了Ubuntu,为了体验Win7就不能用普通方法安装了。

分区

首先第一步就是划分一个主分区给Win7(windows一定要装在主分区上,而不是逻辑分区)。我用Ubuntu Live CD启动,用了gparted无损分区软件搞定(特别适合分割调整分区,而且不用担心数据丢失,理论上是的)。最后的分区如下,/dev/sda4是给Win7的,分了40G的空间(Win7很耗空间)。其他要注意的是要去掉/dev/sda1的Boot标记(Linux用不到,主要是留给Windows用的),只有一个主分区需要Boot而且是/dev/sda4。

Device     Boot     Start      End       Blocks     Id  System
/dev/sda1            2048    20000767     9999360   83  Linux
/dev/sda2        20000768    20391935      195584   82  Linux swap / Solaris
/dev/sda3        20393982   894525439   437065729    5  Extended
/dev/sda4   *   894525440   976771071    41122816    7  HPFS/NTFS/exFAT
/dev/sda5        20393984   894523391   437064704   83  Linux

备份MBR

下一步是备份MBR,因为Win7会修改MBR,如果要找回之前的Ubuntu只能恢复MBR:

sudo dd if=/dev/sda of=./mbr.txt bs=512 count=1

这里扯一下MBR,用hexdump看看mbr.txt

hexdump mbr.txt

基本上Linux和Win7的分区表识别是相同的(4个分区,每个分区有分区类型:例如5表示扩展分区,其他的是什么文件系统),不同在于分区表前的446个字节。所以恢复是只要恢复MBR的446个字节。

装Win7

这个不用多说,地球人都会。

恢复MBR

装完了Win7当然进不去Ubuntu了,所以用Live CD启动进去恢复MBR了。

sudo dd if=./mbr.txt of=/dev/sda bs=446 count=1

更新Grub配置

恢复MBR后进入Ubuntu更新Grub配置,Grub会扫描分区从而识别Win7。

$ sudo update-grub
Generating grub.cfg ...
Found linux image: /boot/vmlinuz-3.2.0-34-generic-pae
Found initrd image: /boot/initrd.img-3.2.0-34-generic-pae
Found linux image: /boot/vmlinuz-3.2.0-33-generic-pae
Found initrd image: /boot/initrd.img-3.2.0-33-generic-pae
Found linux image: /boot/vmlinuz-3.2.0-32-generic-pae
Found initrd image: /boot/initrd.img-3.2.0-32-generic-pae
Found memtest86+ image: /boot/memtest86+.bin
Found Windows 7 (loader) on /dev/sda4
done

OK,大功告成。重启电脑,按住Shift键进入Grub选择Win7就就去了。进了Win7才发现没有网卡驱动、无线驱动,偏偏我的Dell笔记本是个裸机,连官网都找不到Win7驱动-_-!!!,看来还是Linux好啊。

BTW:今天发现Win7的设备管理器里可以在线搜索驱动,这个比较创新啊:)。A卡驱动仍旧没着落,无法安装,暂时用了Intel的集成显卡驱动。

Ubuntu装Win7双系统》上有1个想法

发表评论

电子邮件地址不会被公开。 必填项已用*标注