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. 我筆記本四系統不懼一切。


強烈建議,搞兩塊硬碟。


推薦閱讀:
相关文章