abstrak:此處重點不在于解決題主的問題,而在于科普這方面的知識,畢竟題主對自己的電腦一點都不了解,我對題主的電腦更不了解,問題無從解決,常識性的東西懂的多點,至少求助度娘的時候,可以更容易找到自己要的東西,后面盡量演示點東西,說到裝多系統(tǒng),最最要緊的是引導,MBR分區(qū)+BIOS引導GPT分區(qū)+EFI引導老電腦一般前者,新電腦許多是后者,因為就是這幾年EFI正在崛起,即將拍死BIOS,BIOS,Legacy
此處重點不在于解決題主的問題,而在于科普這方面的知識,
畢竟題主對自己的電腦一點都不了解,我對題主的電腦更不了解,問題無從解決,
常識性的東西懂的多點,至少求助度娘的時候,可以更容易找到自己要的東西,
后面盡量演示點東西,
說到裝多系統(tǒng),最最要緊的是引導,
MBR分區(qū)+BIOS引導
GPT分區(qū)+EFI引導
老電腦一般前者,新電腦許多是后者,因為就是這幾年EFI正在崛起,即將拍死BIOS,
BIOS,Legacy BIOS,
EFI,EFI BIOS,
并不知道該怎么叫,以下分別叫EFI和傳統(tǒng)BIOS,
至于UEFI,反正是基于EFI的,也叫EFI了,
至于那種最新的,有圖形界面的,可以用鼠標的,相當于操作系統(tǒng)的,單純的,EFI,反正我是沒見過,大概也就是開機自動運行些.efi后輟的可執(zhí)行文件吧,
裝系統(tǒng)之前至少要知道自己電腦的情況,是前者還是后者,
前幾年還無所謂,幾乎都是前者,百度到的東西也是前者,基本都適用,
現(xiàn)在時代正在改變,目前正是兩者共存的時候,不搞清楚貿(mào)然下手可能導致分區(qū)丟失,
我是去年上了大一才知道EFI的存在的,然后發(fā)現(xiàn)我五年前買的默認BIOS引導的大華碩筆記本居然支持EFI,果斷把1T的硬盤重建GPT分區(qū)表+全盤格式化+重要部分填充0,一切從零開始,小幾百G的游戲都不要了,
-----------------分割線-------------------
一,兩種分區(qū)簡單的區(qū)分,
1,GPT有個好處就是,沒有主分區(qū)和邏輯分區(qū)的區(qū)別,可以搞一大大大堆分區(qū),所有分區(qū)之間都是平行關系,可以把系統(tǒng)裝在任意的分區(qū)里,也就是可以裝很多很多個系統(tǒng)在同一個硬盤里,
2,MBR有主分區(qū)和邏輯分區(qū),正常來說,系統(tǒng)只能裝在主分區(qū),而且主分區(qū)最多4個,序號0123,如果有邏輯分區(qū),邏輯分區(qū)還要占一個主分區(qū)的位置,也就是說,正常有邏輯分區(qū)的MBR分區(qū)表的硬盤最多只能裝3個系統(tǒng),裝更多系統(tǒng)的肯定是用了些閑的蛋痛的奇技淫巧,
二,重點,引導的開始,傳統(tǒng)BIOS,
聯(lián)想先把security boot關了!
聯(lián)想先把security boot關了!
聯(lián)想先把security boot關了!
1,開機要先選擇引導設備,就是電腦上可能有多個可引導的設備,硬盤光盤u盤,
一般都是在開機屏幕亮了以后按特定的鍵,具體是什么不一定,看看屏幕有沒提示,看看說明書有沒有說,
進入boot選擇和BIOS設置的方法,不同廠商都可能不一樣,
華碩一般是Esc和Delete,
聯(lián)想一般是F2和F12,
聽說過一臺聯(lián)想的是電腦上有個孔,關機狀態(tài)下捅一捅才可以,
反正各種各樣都有可能,如果都不行就百度下自己的型號,
如果沒有u盤光盤什么的,就進BIOS setup看看有沒有相關設置,就那些個關鍵詞,
boot efi legacy usb,
A,筆記本一般都有如下的選擇引導的界面,這是一次性的選擇,
B,臺式機通常只有BIOS設置里的引導順序設置,一般這里改過的話,裝完系統(tǒng)要改回來比較好,
C,老電腦的BIOS有長這樣的,除了難看點,其實差不多,,,
2,硬盤u盤什么的可引導設備,MBR分區(qū)表的一個扇區(qū)512字節(jié)里,前446字節(jié)是代碼區(qū),這里放著機器語言的代碼,
選中了這個引導設備后,CPU把這個設備的MBR扇區(qū)讀到內(nèi)存0x7C00然后把ip也就是指令指針,指向這個地址,接著就可以一個一個指令執(zhí)行下去,其實這就是開機后運行的第一個程序了,一般有名的就下圖那幾種,
區(qū)區(qū)440字節(jié),自然是干不了什么大事,一般就是簡單處理下,然后跳出這個扇區(qū),在后面繼續(xù)搞,比如如上圖grub2據(jù)說就是占用了整整63個扇區(qū),
但是一般MBR分區(qū)表的用戶,這里都是上圖中的最后一個,看名字就知道和windows有關,搜索并啟動激活的第一個分區(qū),正是因為這種引導記錄(或者說是引導程序,總覺得引導記錄聽起來有點奇怪)常用,才有常說激活分區(qū),引導分區(qū)和活動分區(qū)這樣的說法,其實就是直接跳到
引導分區(qū)然后跑的是分區(qū)上的引導記錄,這樣可以把多種引導程序分開來,直接切換引導分區(qū)就可以切換不同的引導程序,比如,
C盤裝了win10,現(xiàn)在要在D盤裝ubuntu15.04,先把引導分區(qū)改成D盤,
然后全程無視c盤里面的win10,不用wubi(我沒用過這玩意兒),用u盤或者光盤之類的引導安裝ubuntu15.04,安裝根分區(qū)/在D盤,/boot不要另外亂放,
安裝過程最后安裝grub的時候(安裝是在最后但選擇一般是在前面選擇分區(qū)的時候),把grub引導安裝在D盤,不要安裝在整個硬盤上,如下圖,
【圖】(手頭上沒有合適的MBR的硬盤安裝測試,所以沒圖,以后想辦法補上)
這樣安裝成功后,C盤是win10的bootmgr引導程序,D盤是ubuntu的grub2引導程序,
于是只要把引導分區(qū)設成C盤,開機就是win10,設成D盤,開機就是ubuntu,
當然,這種辦法有點蠢,而且改起來并不方便,但是相對安全,而且獨立,可以說兩個系統(tǒng)間一點聯(lián)系都不需要,
二,重點,引導的開始,EFI,
聯(lián)想先把security boot關了!
聯(lián)想先把security boot關了!
聯(lián)想先把security boot關了!
1,開機要先選擇引導,這次選的不是設備,只是個選項,
這些選項里,簡單記錄了要引導的.efi文件的,所在分區(qū)和路徑,
至于那些選項怎么添加,正常BIOS setup里面有添加,比如我大華碩的,
有的沒有,比如聯(lián)想的,
除了這樣,還可以用些別的軟件添加,比如windows上的EasyUEFI,EasyBCD,還有l(wèi)inux上的efibootmgr,
--但是我并不知道聯(lián)想那些BIOS setup里不允許添加選項的話,會不會是廠商就是不允許添加引導選項,是不是其他工具也不行,沒試過,因為我沒有聯(lián)想電腦,而且給別人裝系統(tǒng)并不需要自己添加選項,,,
EasyUEFI看起來挺專業(yè)的,
評論區(qū)的黃小龍說用這個會導致各種問題,然而我一般不用windows上的這些工具,不做評論,
EasyBCD貌似也可以(沒試),
bootice的高級編輯模式好像也可以處理EFI,可惜我沒試過,添上下次試試,
efibootmgr,命令行是個好東西,
2,選了以后,就會執(zhí)行相應的.efi文件,進入對應的引導程序,
基本上是殊途同歸,BIOS和EFI,都是要進入其他的引導程序,通過這些引導程序引導進系統(tǒng),
*下面是幾種引導程序,
1,XP的NTLDR引導程序就是如下圖所示,這種老東西就算不知道叫NTLDR的也應該有見過吧,由于xp不支持gpt分區(qū),所以可以認為efi引導的硬盤安裝不了這些老系統(tǒng),
如果只有一個引導項,這個界面會被跳過,所以我copy了一份,
win7/8/10的BOOTMGR都長這樣,
grub2默認長這樣,但是這種東西可以diy,可以搞的花哨點,
grub4dos,下圖老毛桃PE的grub4dos的引導界面,
**下兩圖是EFI Shell,個人喜歡命令行,
三,重中之重,開始動手裝系統(tǒng)了,傳統(tǒng)BIOS,
1,反正簡單的就是用UltraISO之類的把windows或者linux系統(tǒng)的ISO直接寫進u盤,然后u盤引導就可以進入系統(tǒng)安裝的過程了,
然后基本都一樣,下一步下一步下一步,設置選擇分區(qū),下一步下一步下一步,自動重啟OK,
2,在這個時代,兩個u盤是很有必要的,
一個u盤裝個好用的PE(比如老毛桃PE)是很有必要的,自帶各種安裝windows系統(tǒng)的工具,讓本來就簡單的安裝系統(tǒng)變的更簡單,包括原版的和ghost版的,
還自帶各種自動修復的工具,還記得當年對引導完全不懂的時候,一直是用老毛桃自帶的引導修復工具,感覺就沒這工具解決不了的引導問題,開不了機就用這個修一下,
另一個u盤就是用上面那個方法1安裝linux,畢竟裝linux沒別的辦法了,必需先弄一個可引導設備,裝不同系統(tǒng)不能直接換文件,必需重寫鏡像,因為引導程序也要換,
//TODO,
三,重中之重,開始動手裝系統(tǒng)了,EFI,
個人認為,EFI引導和傳統(tǒng)BIOS引導最大的區(qū)別在于,
EFI不需要那些,看不見的引導程序,
如上BIOS二.2,BIOS方式一開始就是從MBR讀一個扇區(qū)運行里面包含的引導程序,可是這個程序不論大小,都是不能用文件管理器之類尋常手段看見這個文件的,而且要替換也不方便,畢竟要直接讀寫扇區(qū),
而EFI切換程序,只要做文件操作,只為正常EFI安裝的系統(tǒng)都會有一個后輟.efi文件,可以把這個文件當成這個系統(tǒng)的入口,無論什么手段,只要能執(zhí)行這個文件,就是成功的引導了這個系統(tǒng),
不只是安裝后的系統(tǒng)有這樣的引導文件,支持EFI的系統(tǒng)ISO鏡像里面的\EFI\boot\bootx64.efi,也是同樣的作用,
那個bootx64.efi文件,正常支持EFI的系統(tǒng)都有,但是win7沒有,也不知道當年某軟對還不流行的EFI是什么態(tài)度,
但是也只缺了這一個文件,直接從win8鏡像里拿出來補上就行了,
也就是說,用EFI引導不同的系統(tǒng),或者不同的系統(tǒng)ISO鏡像,不需要處理那些“看不見”的東西,
從這角度說,EFI比傳統(tǒng)BIOS安全方便許多,
安全就不用說了,操作文件顯然比操作扇區(qū)安全,
方便的話,傳統(tǒng)BIOS要制作可引導的u盤之類的,正因為要寫入的引導程序是“看不見”的,所以網(wǎng)上常見方法是用UltraISO把光盤鏡像寫進u盤,每次制作都要寫入整個鏡像首先是費時了,同時這工具會加入它自家的USB-HDD+/USB-ZIP+兩種引導程序之一,用這個去引導鏡像的引導程序,這樣繞了一下,雖然有些好處,但不可否認出問題的可能變多了(我就見過個不能用這個引導的鏡像,好像是arch),據(jù)說還有主板兼容性問題(雖然我沒遇到過)
最大的缺點就是如上方式寫入u盤時,會把u盤全盤格式化,也就是什么都沒了,(UNetbootin好像沒有這問題,只試用過一次忘了),
雖然可以自己處理不用UltraISO那種工具,但是沒個方便的工具自己處理一兩次心就累了,
只能怪UltraISO弱了點,我相信,如果有編程大牛有這樣的需求,做出這樣的工具并不費力,
所以我后來干脆直接用dd刷入鏡像,這個u盤單純用來刷系統(tǒng)不存其他東西,剩下空間直接作廢
//TODO,
------------上面到下面跨度太大,下面這些看看就是了,上面還會補充---------------
竊以為,EFI比傳統(tǒng)BIOS更方便點,
下面幾張圖是我現(xiàn)在安裝系統(tǒng)的過程,
1,windows,
a,準備工作,
看,這是我的fat32分區(qū)(我的所有分區(qū),詳見最上面第二張圖),里面那幾個文件夾,放著對應的系統(tǒng)iso鏡像解壓出來的東西,比如我要安裝win8,進去看看,
里面是鏡像的內(nèi)容,和自己寫的幾個批處理,
不得不說,其實我已經(jīng)懶到移動都懶得移動了,幾個批處理只是用來移動文件的,
執(zhí)行那個install.bat把系統(tǒng)鏡像內(nèi)容移出去,
這步不耗時,
東西都移出去了,
就這樣,這就是我現(xiàn)在安裝系統(tǒng)前的所有準備工作了,只是移動一下,這個分區(qū)就成了一個可引導的win8安裝盤了,
b,然后開始安裝,EFI并不需要其他引導程序,只要想辦法引導那個分區(qū)的
\EFI\boot\bootx64.efi
這個文件就可以了,
具體方法上面已經(jīng)介紹過了,
可以直接用EFI Shell找到這個文件執(zhí)行它,
可以直接添加一個EFI boot選項,指向那個bootx64.efi,如下圖,只要這個選項沒刪掉,下次重裝系統(tǒng)還能用的,
還可以用先引導grub2,然后用grub2引導,雖然繞了點,但反正這些工作都是一次性的,把那個bootx64.efi加到grub2引導選項里,每次裝windows都可以用的,我就是這樣,所以上面的圖里沒有下面那個FAT,
下面grub2的代碼部分,簡單模仿是沒用的!
然后就進入了官方的安裝程序,接下來就和官方正版光盤的裝系統(tǒng)過程一毛一樣,
下一步->安裝->自定義->選擇分區(qū)->下一步->等待->自動重啟->繼續(xù)安裝->繼續(xù)等待->又自動重啟
好像就是這樣了,這部分過程純屬腦補,暫時不打算重裝系統(tǒng),
2,linux更簡單了,雖然也可以用上面的方法,但我覺得用grub2更方便,
我直接把常見的幾種linux的iso的grub2引導選項留著,要裝哪個系統(tǒng)就進哪個iso,要是更新了鏡像iso,下載下來改個文件名,替換了原來的文件,grub2一點都不用改,
下面grub2的代碼部分,簡單模仿是沒用的!
正常進入live系統(tǒng),這是archbang的圖,
windows和linux雙系統(tǒng)可能出現(xiàn)時間差8小時的情況
我的arch是用archwiki里看到的,ubuntu好像也是這樣解決
hwclock --systohc --localtime