在雙硬碟電腦上安裝windows+ubuntu雙系統
來自專欄打造個性化ubuntu——經驗匯總
6 人贊了文章
在一個硬碟上安裝雙系統,多系統是沒有問題的,電腦在開機的時候會讀取硬碟MBR區域,啟動相應的模塊,如果你的電腦是windows+ubuntu雙系統,那麼就會出現grub菜單讓你選擇要進入哪一個系統。
但是,在雙硬碟上,如果你在一個硬碟上安裝了windows,在另一個硬碟上安裝了ubuntu,那麼很可能出現的事情就是,電腦啟動後直接進入windows,或者出現錯誤,grub運行錯誤,於是出現了grub>的命令行,無法顯示系統菜單,就像這樣:
這時候輸入
ls -l
就會發現電腦只發現一個硬碟(通常是window所在的硬碟),即只有hd0,沒有hd1,真是讓人頭疼。而且這種情況很容易出現。
這種問題在百度各種論壇和貼吧裡面很常見,也有很多人都在詢問關於這種情況下怎麼辦的問題,有許多回答都是在grub上進行修改,比如(下圖這個方法我的電腦並不奏效):
上圖鏈接:https://www.aliyun.com/jiaocheng/213065.html
以及一些方法是在bios中設置主硬碟,把ubuntu安裝在主硬碟上,但是好多電腦bios並沒有設置主硬碟的地方啊喂……
我也深受這個問題困擾,最終找到了一個比較完美的解決方案:
這個方法就是:
把ubuntu的boot分區放到windows系統的硬碟上
為什麼這樣做:
- 電腦出現這個問題是因為在開機的時候只識別到一個硬碟,而如果ubuntu和windows安裝在兩個硬碟上,ubuntu中的grub就會讓電腦到硬碟1去找windows系統,到硬碟2去找ubuntu系統,要是只有一個硬碟的話,選擇grub菜單中的windows系統,grub就會出錯說沒有找到
- 我的電腦本來只有一個硬碟,是在光碟機位安裝了另一個硬碟,於是在新加入的硬碟上安裝windows系統,在原來的那個硬碟上安裝了ubuntu系統,主硬碟和副硬碟分不清,bios中也沒法設置哪一個硬碟是主硬碟
- 大多數時候,電腦啟動的時候會找一個硬碟的mbr區域,讀取後發現要先啟動grub,這時候要是沒有找到grub所在的硬碟,電腦會報錯,連grub菜單都進不去
- 如果把ubuntu的boot分區放在和windows一個硬碟上,只需要佔用大概200M的空間,在進入grub後,既可以啟動windows也可以啟動ubuntu
下面是具體的步驟:
- 先要安裝ubuntu雙系統,並且把ubuntu和windows分別安裝在兩個硬碟上
- 再次用ubuntu的系統安裝盤,進入liveCD模式
- 在liveCD模式中,先在windows所在的硬碟的最後面弄出一個200M的閑置區域,並設置為ext4
- 把ubuntu系統下面的boot文件夾下面的文件,全部複製到這個新建立的盤中
- 使用chroot大法,在chroot的時候,先chroot到新盤下面作為boot分區,再chroot到ubuntu的主分區,再啟動chroot進入ubuntu,參考下面鏈接
http://people.ubuntu.com/~happyaron/udc-cn/lucid-html/ch11s06.html
people.ubuntu.com
6. 在ubuntu下面重新安裝grub
7. 把ubuntu裡面的fstab文件修改一下,主要是增加兩條,把新盤映射為boot區,把efi盤映射到boot下面的efi文件夾,可以參考下面的鏈接
ubuntu fstab設置總結※機器學習之環境配置(1)—win10/ubuntu18.04雙系統+CUDA9.0+CUDNN7.0.5+tensorflow1.8
※Linux下部署Flask項目——Ubuntu+Flask+Gunicorn+Supervisor+Nginx
※Ubuntu下跑通py
※安裝並使用docker@Ubuntu——第一章(安裝docker)
※Windows已經原生支持了Ubuntu的Subsystem了,那為什麼還有很多人在使用Ubuntu?