安装linux和windows双系统

本文介绍了一种特殊的Linux与Windows双系统安装方法,即在同一个磁盘分区上安装两个操作系统。通过加载ntfs文件系统并利用grub进行引导选择,实现了两系统的共存。此外,还介绍了必要的配置步骤。

很多人一提到安装linux和windows双系统就会想到单独将磁盘划一个分区给linux,如果一块磁盘上已经安装了windows,并且所有分区都有数据,那就麻烦了,即使有了单独的分区,还需要安装grub,然后在grub中选择启动linux还是启动windows。
其实没有这么麻烦,完全可以将linux安装在windows的分区上。将linux和windows“安装”在同一个分区上。在linux中只需要加载ntfs即可,对于linux而言,文件系统到底是ext2还是ext3,或者说fat,ntfs,这些都是无所谓的,全部被内核的VFS这个层次给屏蔽掉了,而linux内核又是常驻内存的,且很小,因此只需要grub能识别ntfs分区,将内核文件比如D:/vmlinuz文件载入内核即可,然后还需要一个initrd文件,比如D:/initrd.img,在initrd中加载ntfs驱动,然后将D盘,或者E盘或者C盘挂载为根,然后chroot到这个根即可,当然要有个前提,那就是D盘(或者别的任何盘)需要有bin,lib,etc等目录和里面的文件。
一切就绪之后,windows和linux会相安无事的共处在同一个磁盘分区中,由grub来选择启动哪一个系统。能很方便的做到这一点的原因在于linux操作系统内核非常小,加载到内存以后就和磁盘之类的设备没有关系了,因此完全可以将网络挂载成“根”,只要有驱动就可以,实际上,只要将kernel载入内存并且启动到了用户态,一个linux系统就已经在运行了,它如何行动就看你的用户态程序是什么了,你甚至都可以不挂载什么根文件系统,如果你的init程序是一个while(1){}的话,这也是一个完整的linux系统,它完全存在于内存,也就是initrd.img的内存文件系统,此时只要你加载了特定文件系统驱动(将此驱动放到initrd.img中)并且磁盘中有一个可以运行的程序,该文件系统就可以被挂载为根以及被chroot,这就是机制和策略分离带来的好处。
附:操作
1.将linux内核vmlinux和initrd.img放到一个fat或者ntfs盘符的根下,为了简单以下使用fat和D盘,因为ntfs在unicode方面有些问题;
2.安装windows下的grub,具体方式略;
3.修改initrd.img,在挂载根文件系统前将vfat的驱动加载上,然后挂载D盘为根:
mount -t vfat /dev/XXX /mnt
这里的XXX视D盘属于哪个分区而定。
4.重启吧,可以启动到linux和windows。

安装WINDOWSLINUX双系统方法 linux一些术语 PXE服务器配置 相比LinuxWindows会比较频繁地重,重之后的mbr会被覆盖,从而无法引导linux系统。解决整个问题只需要恢复以前的MBR。重Linux则不存在任何问题。因为grub会检测到已有的windows分区。   首先备份mbr,使用dd命令将硬盘第一个扇区的头446字节"抓"下来保存。之后重windows之后再恢复mbr。这需要用到linux启动光盘。启动进入命令行,挂载那个被保存的mbr文件所在的分区,然后用dd命令恢复就可以了。(注意我的是SCSI硬盘, 所以是sda, IED硬盘为hda)   备份MBR:     # dd if=/dev/sda of=/boot/boot.NNNN bs=446 count=1      恢复MBR:     # dd if=/boot/boot.NNNN of=/dev/sda bs=446 count=1        -为什么不是512呢,主引导扇区是一个扇区(512字节呀)?     -只把主引导扇区的备份文件boot.NNNN的前446个字节重写入主引导扇区。     boot.NNNN是我们在安装Linux之前整个主引导分区的备份。如果我们把512个字节全部写入主引导扇区就可能会把安装Linux后改变了的硬盘DPT表也破坏掉。     MBR-> Main/Master Boot Record, 有些书上是写成Master的。   我认为可以分成三个部分吧,MBR+DPT+MagicNumber(446+64+2=512)      这也就是为什么进行MBR备份的时候要指定bs=512或者bs=1k,count=1的原因。然后恢复时经常看到HOWTO里面是bs=446 count=1。这个446就是指令部分的恢复,不是DPT的恢复。往往MBR里面的第一个指令是cli...研究起来是比较有意思的。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值