C盘装linux,D盘装windows是否可行?如何实现?
C盘想用做开发,D盘用做游戏。但网上找了大量方法都是C盘装windwos,然后再装linux,是不是在linux上装windows难以实现?
蟹腰。
没有什么好的答案,所以来补一个。
首先,这不是在linux上装windows,也不是在windows上装linux。你问的是如何在电脑硬碟上安装两个系统,支持双启动的问题。
网上大量方法都是先装Windows,然后再安装Linux的原因是:Windows的安装程序不认识Linux,但是Linux的安装程序认识Windows。所以,先安装Windows再安装Linux,Linux的安装程序能够自动检测到Windows的存在并帮你处理掉一系列关于双启动要做的配置。而反过来的话,Windows检测不到Linux系统的存在因此就会按照电脑没有系统的情况安装,从而使得开机之后看不到启动Linux的选项。
通俗的解释到这里就差不多了。
如果还想知道深一点儿:
电脑开机之后,CPU首先载入一块专用晶元当中的程序,这块晶元被称为BIOS或者UEFI。
然后,在检测到硬碟的情况下,CPU会去读这个硬碟的第一个扇区的第一个磁轨。如果不理解什么是扇区什么是磁轨,那就把硬碟想像成一盘磁带,CPU总是从A面的最开始放起。(什么,没见过磁带?那么就想像一团线,一卷胶带,总是从头用起)
这个地方记录了磁碟分几个区、每个区多大、以及接下来要读哪个区里面的代码继续执行开机启动代码。
先安装Windows的话,Windows会将自己安装在其中一个分区,我们假设这个分区是第一个分区,然后在硬碟的开头记录:请跳转到第一个分区继续执行。
这样开机之后,Windows就启动起来了。
然后再安装Linux,Linux会检测到第一个分区里已经有Windows了,于是将自己安装到第二个分区,并且修改磁碟的开头记录,提供两个选项:1,启动Windows;2,启动Linux
这样就是双启动系统了。
但是如果安装顺序反过来呢?
Linux首先将自己安装到某个分区(假设是第一个。这个其实是可以任意指定的),然后修改磁碟的开头记录,说请跳转到第一个分区继续启动;
然后安装Windows,Windows的安装程序不认识Linux,认为两个分区都是空的。这个时候,如果Windows安装到第一个分区,则将Linux完全覆盖;如果安装到第二个分区,虽然Linux仍然在第一个分区里面,但是Windows安装程序修改了磁碟的开头记录,说请跳转到第二个分区继续启动,而不是提供两个选项,导致无法启动进入Linux。
如果继续修行,那么
如果我们继续学习,了解了磁碟开头记录当中到底写了什么,以什么格式写的,那么,我们可以手动修改其中的记录,让其提供两个启动选项。这样的话,就又可以变成双启动了。
其它答案当中的似懂非懂的内容:
- linux不存在c盘d盘论。对,但是只是一般不这么叫。也不见得叫sda1、sda2。这些都只是名字而已。windows也不见得一定要有c盘。也可以是h盘e盘。所有这些只是习惯,并非本质。
- windows一定要安装在c盘。错误。如上面所述,「c盘」只是一个名称而已,完全可以改名叫「d盘」「e盘」甚至「z盘」。问题在于,windows安装程序一般将安装Windows的那个分区起名为「c盘」,所以让大家觉得Windows只能安装到「c盘」。其实,Windows安装程序里面是可以修改这个名字的
装完linux再装windows的时候,你不是往D盘装Windows,你是往/dev/sda2(或者hda2,sdb1,hdb1啥的都无所谓了,反正是第二个分区/硬碟)里安装的(如果你是在linux下展开wim的话)。
而且无论你装windows的分区是这个磁碟上的第几个分区,windows系统boot起来后,你看到的windows还是装c盘的。
以上指出提问不合理之处,以下开始严肃讨论。
分区方案建议分3个分区装系统及相关文件,一个分区200M,linux挂载为/boot;一个分区,装linux(挂在为/);一个分区,装windows。如果有需要在两个系统间数据交换/共享的话,再分一个分区。
我相信你已经在网上看了够多双系统安装的文章,其实无论如何,安装系统都不是问题,问题在于安装完后把系统引导起来。
&主启动记录基于MBR------------------&>
计算机上电、BIOS自检后,开始读取磁碟的MBR,并确认接下来该从哪里(哪个分区下的哪个文件)继续启动(Windows NT5如XP读取C盘的NTLDR文件,如果没有特别设定过的话,NT6则是BOOTMGR,linux则一般是grub2)。这个文件执行完毕后,将执行权交给安装的系统完成启动工作。