linux和windows双系统有必要,安装linux和windows双系统

安装linux和windows双系统

很多人一提到安装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。

©著作权归作者所有:来自51CTO博客作者dog250的原创作品,如需转载,请注明出处,否则将追究法律责任

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值