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。


如果继续修行,那么

如果我们继续学习,了解了磁碟开头记录当中到底写了什么,以什么格式写的,那么,我们可以手动修改其中的记录,让其提供两个启动选项。这样的话,就又可以变成双启动了。


其它答案当中的似懂非懂的内容:

  1. linux不存在c盘d盘论。对,但是只是一般不这么叫。也不见得叫sda1、sda2。这些都只是名字而已。windows也不见得一定要有c盘。也可以是h盘e盘。所有这些只是习惯,并非本质。
  2. 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)。这个文件执行完毕后,将执行权交给安装的系统完成启动工作。

各种各样的MBR

无论要怎么安装双系统,都必然有一个先后顺序,一块硬碟的前提下,分开讨论两种情况:

1.先安win后安linux

安装linux的前期,你必须先设置一个boot分区(boot分区在单系统linux的安装中并不重要,但如果是双系统的话,你和它就需要打打交道了,这时候最好把它分出来弄成一个独立的分区),里面会写有很多linux系统启动时的配置。

多数linux发行版在安装完毕前,会提示你是否要安装一个名为grub2的启动管理器到硬碟用于管理linux的启动过程。一般来说需要安装一下这个,否则接下来linux没法启动,要再弄linux就比较麻烦了(当然也不是没有办法)。

安装grub2后,它会改写硬碟的MBR,以后你从这块硬碟启动,都是交给安装在boot分区里的grub2来处理。

然后你只要上网学习一下grub2,把windows的启动项加到grub2的menu.lst列表里,就可以用grub2来启动windows了。

2.先安linux后安win

windows安装过程有一点对自定义要求高的人会觉得不太友好,就是不给选项直接安装引导程序并修改mbr让下次启动直接引导windows启动。

安装了windows后,你会一段时间内无法启动linux,直到你把mbr重新配置为grub后,才会再次启动linux,当然,你也要把windows的启动项加到grub2的menu.lst列表里。

注:也不是不能用NT5.x/6.x的MBR启动grub,但这样的我不怎么熟练。修改NT5的boot.ini启动grub我是实验成功过的,然而NT6的我就失败了。


我知道MBR已经要完蛋了,没在UEFI平台上安装过双系统所以不知道,但我还是很想答这个问题。


这个是那个截图所示工具的官方网站。

叫BOOTICE


我就是这么干的,笔记本两块ssd,每块ssd各有一个操作系统

你可以在terminal里手动重新生成grub.cfg,grub会扫描所有的sdX来检测各个操作系统的入口。如果你担心检测不到,大可以点开看看里面的内容,一般来说在文件的最下方

如果你安装一些懒人版linux,比如ubuntu、manjaro这种,甚至可以不用思考这个问题,直接装就完事了

9102年了,grub没有这么蠢。当然,最好的办法是先装Windows再装Linux,这样不会出锅。如果反过来的话很可能会出现引导问题,要重新修改BIOS的boot顺序甚至要启动grub rescue来修复linux的引导


可以,能实现,意义不大。

把Windows安装时调整一下,默认分区改D(有方法,不建议使用)。

再用Ext2fsd把Linux的/分区挂载到C:(不建议使用)。

宿舍伺服器

Linux安装完后如果使用Windows启动盘安装,并把Linux启动器设为默认启动器可以修改mbr(旧式BIOS,在系统内修改,可使用bootice等),EFI启动顺序(新式BIOS,在UEFIBIOS内修改,或使用EasyUEFI等)。

或者把Windows启动器设为默认启动器,可以用EasyBCD等(必须为旧式BIOS)。

注意:

  1. 先装Windows再装Linux比先装Linux再装Windows要简单的多。(也就是在linux上装windows难,但能实现)。
  2. Linux不分CDEF盘,人家用挂载点。Windows上挂载Linux分区问题很多,如果还要修改Linux所在分区的数据,准备隔三岔五修复系统吧。
  3. Windows系统分区指到别的盘符会引起部分程序不稳定(像我这样只用系统自带功能除外)。
  4. 如果是安装完Windows系统再改盘符,准备重装吧。
  5. 题目太小白。
  6. 我笔记本四系统不惧一切。


强烈建议,搞两块硬碟。


推荐阅读:
相关文章