Ubuntu13.04与Windows8共存攻略

虚拟机或者VPS使用Linux毕竟是有限制的,比如想研究虚拟化技术,就肯定不行。所以需要在电脑上装一个Linux系统。

一、系统选择

本着“最快设置,最少折腾”原则,选定Ubuntu作为目标系统。

二、当前电脑状况

  • 主机——宏碁Aspire4750G,自带系统Win7,于2012年后半年升级为Win8。
  • 硬盘——500G,MBR分区表,4个主分区(见下图)。分区1,笔记本自带恢复分区13.18G;分区2,Win8引导分区100M,此为活动分区;分区3,Win8系统分区135.74G;分区4,数据分区316.74G。
    |=====|=|===========|========================|
    |  1  |2|     3     |           4            |
    |=====|=|===========|========================|

三、安装规划

分区3和4基本是全满状态,重新规划整个硬盘需要转移大量数据,太麻烦。恢复分区(分区1)存的Win7,基本没用过,就把它备份一下装系统;再从分区4里面分出6G空间,做swap分区。swap分区貌似对大内存系统没什么用处,现在的主要用途是给Linux提供休眠功能(存放休眠时的内存信息)。

四、实际操作

  1. 由于MBR分区表最多只能拥有4个主分区,因此使用Acronis Disk Director把分区4修改为逻辑分区并划出6.04G空间作为swap分区。本来想用DiskGenius,但是它不能把分区4转换为逻辑分区,原因未知。调整后的分区如下:
    |=====|=|===========|====================|===|
    |  1  |2|     3     |          4         | 5 |
    |=====|=|===========|====================|===|
  2. 下载ubuntu-gnome-13.04-desktop-amd64.iso,使用Pen Drive Linux's USB Installer制作启动U盘。
  3. 安装过程没什么好说的,系统装在分区1,分区5是swap,其他分区保持不变(真要变了我就该哭了)。需要注意的是,我没有把GRUB安装到MBR或PBR。
  4. 使用命令把GRUB4DOS添加到Win8启动菜单(GRUB4DOS 0.4.6我用不了,0.4.5正常)。首先,使用以下命令来建立一个启动项:
    bcdedit /create /d "GRUB for DOS" /application bootsector

    执行结果看起来类似这样:

    The entry {05d33150-3fde-11dc-a457-00021cf82fb0} was successfully created.

    其中长字串{05d33150-3fde-11dc-a457-00021cf82fb0} 是这个项的数字标识{id}。然后,通过以下命令来设置启动参数(请用先前的命令所返回的实际的id来替换掉 {id}):

    bcdedit /set {id} device boot
    bcdedit /set {id} path \grldr.mbr
    bcdedit /displayorder {id} /addlast

    然后把GRUB4DOS的grldr.mbr、grldr、menu.lst三个文件放到分区2根目录即可。

  5. Ubuntu Gnome默认安装的是grub-efi,但是GRUB4DOS不能引导grub-efi,因此需要把它更换为grub-pc。用第2步制作的启动U盘进入Live环境,打开terminal,用下面命令切换到root用户身份:
    sudo -s
  6. 挂载分区1到/mnt,并挂载其他必要分区,为chroot做准备:
    mount /dev/sda1 /mnt
    mount -t proc none /mnt/proc
    mount --rbind /sys /mnt/sys
    mount --rbind /dev /mnt/dev
    

    上面命令里分区1是sda1,但我笔记本硬盘有时会被认作sdd,实际挂载时注意些就好,下同。

  7. 设置DNS,否则chroot后无法上网。先备份/mnt/etc/resolv.conf,然后编辑此文件,添加下面两行内容,保存。
    nameserver 8.8.8.8
    nameserver 8.8.4.4

    注意Ubuntu13.04中/etc/resolv.conf是一个指向其他文件的符号连接,备份或者编辑其目标文件即可。

  8. chroot并设置环境变量,以便区分chroot之后和之前的环境:
    chroot /mnt /bin/bash
    source /etc/profile
    export PS1="(chroot) $PS1"
  9. 下面安装grub-pc,生成GRUB4DOS可引导的启动文件并更新grub配置文件:
    apt-get install grub-pc
    grub-install --target=i386-pc --grub-setup=/bin/true --recheck --debug /dev/sda1
    grub-mkconfig -o /boot/grub/grub.cfg
  10. 退出chroot环境,卸下先前挂载的分区并重启系统:
    exit
    cd
    umount -l /mnt/dev{/shm,/pts,}
    umount -l /mnt{/sys,/proc,}
    reboot
  11. 从硬盘启动,在Win8启动菜单选择“GRUB for DOS”,然后在新出现的GRUB菜单选择第5项“Switch to GRUB2 core.img for booting Linux (Ubuntu, etc)”,即可看到熟悉的Ubuntu启动菜单。

点击量:33

发表评论

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

3 × 1 =