分页: 1 / 1

【囧】【双硬盘双系统的一个例子】

发表于 : 2009-03-02 13:10
flintt
这个是我在电脑虚拟机里面配置用来实验的例子,希望对某些人能够有用。
摸索出来的,里面还有好些问题不清楚原理
比如:
为什么切换IDE adapter会导致下面的现象?
设置为Primary后,(ubuntu)启动后为sdb,(xp)启动后为sda
设置为Seconary后,(ubuntu)启动后为sda,sdb不见,无法启动(xp)的系统
设置为Both后,(ubuntu)启动后为sda,(xp)启动后为sdb


虚拟机实例
1、 添加一个2G IDE硬盘安装TinyXP,系统装好后确认系统正常并关机(在开机的情况下做一个快照)
2、 添加一块4G的SCSI硬盘,安装Ubuntu Jeos。Grub安装到他的一个单独分区/boot(/dev/sda1)上。重启后,应该看不到安装的Ubuntu,而是直接进入了xp的系统。这时在BIOS里面配置使得Local Bus IDE adapter为Secondary(或者Primary和Both都试一下,如果不确认Ubuntu是那个盘的话。初始是Both),进入ubuntu后看看/dev下面是不是有两块硬盘的信息了
jietu.PNG
3、 重启后可以看到grub的菜单,xp分区已经在安装ubuntu时自动识别出来了,并且能够正常使用。menu.lst是这样的:
root@ubuntu:/media# cat /boot/grub/menu.lst |grep -v "#"
default 0
timeout 10

title Ubuntu 8.04, kernel 2.6.24-16-virtual
root (hd0,0)
kernel /vmlinuz-2.6.24-16-virtual root=UUID=b7178592-0f98-4624-855a-14245e94cbe6 ro quiet splash
initrd /initrd.img-2.6.24-16-virtual
quiet

title Ubuntu 8.04, kernel 2.6.24-16-virtual (recovery mode)
root (hd0,0)
kernel /vmlinuz-2.6.24-16-virtual root=UUID=b7178592-0f98-4624-855a-14245e94cbe6 ro single
initrd /initrd.img-2.6.24-16-virtual

title Microsoft Windows XP Professional
root (hd1,0)
savedefault
makeactive
map (hd0) (hd1)
map (hd1) (hd0)
chainloader +1

4、 目前为止可以通过Grub把启动权由第二块硬盘(ubuntu)交给第一块来启动xp,接下来再进行配置使得启动权也可以从第一块(xp)交给第二块(ubuntu)。进入后在/dev里面可以看到sda和sdb了(sdb可以被挂载,但是是只读的)(显示是已经安装了ntfs-3g的输出)
root@ubuntu:~# fdisk -l

Disk /dev/sda: 4294 MB, 4294967296 bytes
255 heads, 63 sectors/track, 522 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x000f1630

Device Boot Start End Blocks Id System
/dev/sda1 * 1 12 96358+ 83 Linux
/dev/sda2 13 498 3903795 83 Linux
/dev/sda3 499 522 192780 82 Linux swap / Solaris

Disk /dev/sdb: 2147 MB, 2147483648 bytes
128 heads, 63 sectors/track, 520 cylinders
Units = cylinders of 8064 * 512 = 4128768 bytes
Disk identifier: 0x15621562

Device Boot Start End Blocks Id System
/dev/sdb1 * 1 519 2092576+ 7 HPFS/NTFS
root@ubuntu:~# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda2 3.7G 355M 3.2G 10% /
varrun 94M 36K 94M 1% /var/run
varlock 94M 0 94M 0% /var/lock
udev 94M 52K 94M 1% /dev
devshm 94M 0 94M 0% /dev/shm
/dev/sda1 92M 18M 70M 20% /boot
/dev/sdb1 2.0G 737M 1.3G 37% /media
5、 修改/etc/default/locale配置文件显示英文,避免中文显示为乱码
root@ubuntu:/etc/default# cat locale
LANG="en_US.UTF-8"
LANGUAGE="en_US:en"
6、 修改/etc/apt/sources.list获得一个比较快的国内源
没有找到
7、 命令apt-get install ntfs-3g安装对ntfs读写支持包
8、 命令apt-get install lrzsz安装方便使用zmodem命令rz和sz
9、 命令apt-get install unzip安装解压zip文件
10、 修改fstab使得启动时自动挂载/dev/sdb1到/media文件夹下:
root@ubuntu:/media# cat /etc/fstab
# /etc/fstab: static file system information.
#
# <file system> <mount point> <type> <options> <dump> <pass>
proc /proc proc defaults 0 0
# /dev/sda2
UUID=b7178592-0f98-4624-855a-14245e94cbe6 / ext3 relatime,errors=remount-ro 0 1
# /dev/sda1
UUID=8eeda2ba-8bfb-465b-a676-6788c45909b5 /boot ext3 relatime 0 2
# /dev/sda3
UUID=f54ed1a0-2f49-4acb-9512-63f452a41231 none swap sw 0 0
/dev/scd0 /media/cdrom0 udf,iso9660 user,noauto,exec,utf8 0 0
/dev/fd0 /media/floppy0 auto rw,user,noauto,exec,utf8 0 0
/dev/sdb1 /media ntfs-3g silent,umask=0,locale=zh_CN.utf8 0 0
11、 下载grub4dos,解压将grub.exe、grldr和menu.lst放入C盘的根目录下
12、 修改boot.ini和menu.lst(红色为修改的部分):
root@ubuntu:/media# cat boot.ini
[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional" /noexecute=optin /fastdetect

c:\grldr="Start Grub4Dos ( For switch to Ubuntu )"
这个menu.lst大部分是复制ubuntu里面的那个menu.lst,有些地方修改了而已
title Ubuntu 8.04, kernel 2.6.24-16-virtual
root (hd1,0) //这里把原来的(hd0,0)在为现在这样(为什么呢?)
kernel /vmlinuz-2.6.24-16-virtual root=UUID=b7178592-0f98-4624-855a-14245e94cbe6 ro quiet splash //UUID要根据/boot/grub/menu.lst的修改成一样的
initrd /initrd.img-2.6.24-16-virtual
quiet

title Ubuntu 8.04, kernel 2.6.24-16-virtual (recovery mode)
root (hd1,0) //同上
kernel /vmlinuz-2.6.24-16-virtual root=UUID=b7178592-0f98-4624-855a-14245e94cbe6 ro single
initrd /initrd.img-2.6.24-16-virtual

title Back to Windows XP:
root


title Microsoft Windows XP Professional
root (hd0,0)
chainloader /ntldr //这个时候直接用C盘下面的ntldr来引导

title Reboot
reboot
title Shutdown computer
halt
上面的两个系统都是用vmware虚拟安装。xp使用的是tinyxp英文版,linux使用的是ubuntu的jeos8.04。两个系统安装完后,实际磁盘使用量不到2G。