雙系統如何刪除Linux,恢復Windows從MBR引導啟動?


嗯,現在願意嘗試Linux的人越來越多了。通常,如果一台電腦里已經裝有了Windows,再裝Linux,安裝時,Linux的grub引導程 序就會覆蓋掉保存在MBR當中的原來的Windows引導程序。如果在安裝完Linux后,用戶刪除或格式化了Linux的/boot所在的分區的話,就 會導致重啟后grub無法通過原來Linux的/boot下的grub配置文件找到Windows,進而將無法啟動Windows!(這種說法其實不嚴 謹,這樣解釋僅作便於理解。有關MBR及這部分的簡單原理,我將在本文末進行講解)

OK,知道了后果,可是萬一我不喜歡Linux,有沒有后悔葯呢?是不是我裝了Windows又裝了Ubuntu或是其它Linux后我就無法換回 原來唯一的Windows了呢?當然不會!上文暘仔說了,刪除Linux分區后導致重啟無法進入Windows的真正原因其實在於,MBR中的grub需 要從Linux的/boot目錄中讀取配置文件來找到Windows,由於刪除了Linux分區,那么/boot目錄下的配置文件也就被刪除了,於是 grub找不到配置文件便無法找到Windows了,所以才進不了Windows。清楚了原因以后,我們便可得出兩條解決問題的思路:1,設法讓grub 找到Windows;2,把grub替換掉,換成Windows自己的引導程序。

第一條思路,由於grub啟動的文件已經被刪除,而且安裝在MBR里的grub引導程序十分有限,所以我們是沒有辦法讓grub找到Windows了。

上一條走不通,只得由第二條思路想辦法,即,設法將Windows的引導程序裝回MBR里。這里提供兩種可靠的辦法:

辦法一:Windows下使用MbrFix重建MBR

能夠使用這個方法的前提是,你將要刪除或已經刪除了Linux系統,並且還沒有重啟,Windows系統尚在運行中。我們可以通過一款小工具輕松得將Windows引導程序寫入MBR。點此下載MbrFix。 下載后解壓,里面有3個文件,“MbrFix.htm”是詳細的使用說明文件,“MbrFix.exe”是適用於32位系統的程 序,“MbrFix64.exe”是適用於64位系統的程序。我們根據當前的系統將其中一個程序復制到C盤根目錄下。然后打開命令提示符(可從“開 始”->“運行”處輸入“cmd”->“確定”打開),依次輸入以下兩條命令:

cd c:
MbrFix /drive 0 fixmbr /yes
/* 如果為64位系統則輸入MbrFix64 /drive 0 fixmbr /yes */

這樣MBR就重建完成了。而如果你已經重啟,無法進入Windows了,請看后面的辦法二吧。

辦法二:使用Windows安裝光盤重建MBR

這里我們需要一樣道具,就是一張Windows XP或Windows 7的安裝光盤。我們從光盤啟動,接下來:

如果用的是xp的安裝光盤:

在進入第一個界面時(按“Enter”進行安裝,按“R”進入“恢復控制台”),按“R”進入控制台,一會兒后要求你選擇修復哪一個系統,輸入待修 復的Windows系統標號,接着是輸入管理員密碼(如果未設密碼就繼續回車)。待出現“C:WINDOWS>”提示符后,輸入以下命令,回車,並 輸入“y”,回車進行重建MBR:

fixmbr

重建完成后,我們輸入exit即可重啟進入Windows系統啦~

如果用的是win7的安裝光盤:

進入,在選擇完語言等設置后,點擊下一步進入下一個界面,不要點擊“繼續安裝”而是點擊下面的“修復計算機”。然后需要等一會兒,接着在出現的界面中選擇第一項,點擊“下一步”,然后點擊“命令提示符”,輸入以下命令重建MBR:

bootrec /fixmbr

重建完成后,我們輸入exit即可退出命令提示符,然后點擊“重新啟動”即可進入Windows系統啦~

原理:

OK,本文最后,我們來簡單了解一下整個事情的原理。

首先,什么是MBR?MBR(中文名“主引導記錄”,英文全稱“Master Boot Record”),它通常存在於磁盤的第1扇區,大小只有512Byte。其中最主要包括兩部分,其一是引導程序或指向“分區引導記錄”中引導程序的指 針,其二是分區表。Linux目前常用的引導程序就是“grub”,而winXP的引導程序叫做“NTLDR”,WinVista和Win7的叫做 “BCD”。

假如我們在一台電腦里先裝了Windows7后又裝了Linux,並且裝Linux時將grub引導程序選擇安裝在了MBR里,那么我們每次啟動進 入Windows時,引導的順序是這樣子的:[1],從MBR啟動grub,grub讀取Linux的boot數據(保存在“/boot”);[2],讓 用戶選擇是進入Linux還是Windows,如果選擇Linux則開始[3],如果選擇Windows則開始[4];[3],根據boot數據直接啟動 Linux,結束;[4],根據boot數據找到BCD/NTLDR;[5],BCD或NTLDR再根據自己的設置,直接啟動Windows或是進行其它 的引導。

反之,如果我們先安裝了Linux后再裝Windows,由於Windows在安裝時會將原來存在於MBR中的grub覆蓋,故我們在裝完 Windows后重啟,也會進不去Linux。(補充:Linux安裝設置grub時能自動識別到Windows系統,並寫入boot文件中;而 Windows在安裝時卻不會理會已存在的Linux,而直接忽略之。可見微軟的壟斷心態!)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM