歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> Windows 7+Fedora 16啟動項問題

Windows 7+Fedora 16啟動項問題

日期:2017/2/28 15:56:29   编辑:Linux教程

不久前,實驗室一個同學電腦上裝的本來是Windows 7+Fedora 16雙系統,結果他不想用Fedora 16了, 就在windows上把Fedora 16所在的磁盤格式化了。重新啟動後Windows 7和Fedora 16都進不去了。界面就一直停在grub輸入的地方。索性就進winPE了,PE進去重新安裝了一下C盤,不過是ghost安裝的,安裝好之後重啟結果還是不能進入Windows 7,還是grub引導那裡。後來我就直接再進入PE,用裡面的修復啟動項軟件重寫了MBR,這下能進入Windows 7了,並且在進入Windows 7後開始自動重寫輸入表,驅動之類的。我想了下,下面是整個過程的解釋。

MBR上面有分區表(64字節)和引導程序(446個字節),grub就是裝在這個446字節上的。grub功能很強大,grub是支持多系統啟動的,還有控制權轉交的功能。所有淡淡這麼點大小的儲存量是不夠的。所有在Boot Loader(這裡就說是grub了)加載的時候有兩個階段,Stage1,Stage2。Stage1階段主要是加載Boot Loader上的程序,就是說加載了grub,但這裡並沒有安裝Loader相關的配置文件。在Stage2階段就是通過gurb來讀取配置文件,比如/boot/grub/menu.lst或grubcon.fig,配置文件提供了很多信息,一個比較直觀的信息就是開機時候的系統選擇菜單(詳細配置文件再介紹)。這就可以理解上面的問題了,刪除了Linux後,Stage1中grub是加載好了,但是Stage2過程中去加載配置文件就沒了。也就不能發揮grub的系統引導功能和控制權轉交功能。

那麼為什麼ghost安裝後還是不能恢復引導呢?ghost開始就是克隆硬盤上的數據的,也就是把鏡像的文件重新寫了一遍Windows 7上的C盤,C盤自己的Boot Loader是重寫了。但是MBR不屬於任何操作系統,MBR沒有寫額。所以就導致MBR上Boot Loader還是原來的grub程序,也還是會去讀取Fedora 16下的配置文件。

最後就是進入PE之後修復MBR後就OK了,這裡的解釋就是重寫MBR了,不過肯定不會再是grub了,是windows自己的引導程序了。

Copyright © Linux教程網 All Rights Reserved