歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> Fedora 16 使用LiveCD修復grub2引導

Fedora 16 使用LiveCD修復grub2引導

日期:2017/2/28 15:59:11   编辑:Linux教程
自從我的電腦裝了Fedora 16變成雙系統以後,竟然又對openSUSE感興趣了,結果興沖沖的想裝個三系統玩玩,但是其實我對Linux方面根本不太懂啊,結果在安裝的時候把openSUSE的grub引導直接安裝到了MBR上面,把原來Fedora 16的grub2引導給覆蓋了,結果電腦識別不了Fedora 16,而且openSUSE又識別不了我的無線網卡,整個就杯具了,還好學長及時出馬,終於把這個問題解決了,呵呵^_^

現在的孩子都喜歡裝系統,Windows 7+Fedora,如果先裝win7再裝Fedora,是蠻簡單的,如果先裝Fedora,然後WIN 7,本文方法也是適用。

相關閱讀:http://www.linuxidc.com/Linux/2008-06/13956.htm

如果LiveCD不知為何物,請google

如果知LiveCD不知如何制作,請google

如果做好LiveCD不知如何用其引導,請google

【為了照顧一些剛想玩fedora的奮斗青年,省去你的google時間吧】

step1:http://fedoraproject.org/ 下載600多M的livecd鏡像文件,首頁是32位,你可以點更多下載64位

step2:https://fedorahosted.org/liveusb-creator/ 下載liveusb的制作軟件,官方的。

step3:准備一個U盤,(裡面有數據也沒關系,制作的時候不像pe,會把你格式化,他保留原有數據),

用那個軟件選擇剛才你下載好的ISO,然後選擇你的U盤盤符,persistent storage 選擇個100M(這個相當於

Livecd裡的/home掛載點,除了這個之外的其他掛載點是不用寫入的U盤的),點擊creat就可以完成制作了。

step4:調整你的bios啟動順序或者現在筆記本都支持quick boot,選擇U盤啟動就可以了。

啟動後會出現start fedora 16 ,按回車就可以進入了

【有些U盤用官方的windows版本liveusb creator制作之後會啟動不了,換個U盤嘗試。或者到

http://unetbootin.sourceforge.net/下載這個軟件嘗試】

【進入之後默認是英文,如果你英文不好請單擊屏幕右上角的live用戶名,選擇system settings,然後

選擇region and language(單擊即可),在出來的對話框選中 chinese。再去右上角單擊用戶名,log out,

注銷之後會問你是否更改home下面的文件夾名字,我建議不要該成中文,因為這樣你在shell裡面比較麻煩】

用LiveCD啟動之後,首先應該明確的是你的fedora裝在哪個分區,現在的硬盤都應該是sata的吧,那麼就對應

/dev/sdax,x是個數字,1~4表示主分區,5開始是邏輯分區。如果你在可伶的用著IDE硬盤,那麼就對應/dev/hdax

打開你的磁盤實用工具,或者叫Disk unity,找到fedora安裝所在分區,我的在sda10,所以下面就拿這個說明了。。

1 2 su mount -t ext4 -o rw /dev/sda10 /media

把fedora的安裝分區掛載到當前的LiveCD文件系統下,當然如果你比較偷懶的話,比如我:),直接在文件管理器裡面雙擊
一下那個分區,然後就會在/media/_FEDORA_*** 下掛載了

原來安裝在硬盤上的fedora只是把文件目錄掛上來了,一點硬件資源也木有,啥事也干不了,只能用來copy/paste一下數據,
現在把當前系統的資源給他

1 2 3 4 5 su mount -t proc none /media/proc mount -o bind /dev /media/dev mount -o bind /sys /media/sys mount -t devpts devpts /media/dev/pts

特別看清楚上面的指令,千萬別把 /dev 寫成了/dev/,如果這樣就會出現
/dev is not a block device了

掛完後用chroot命令切換到原來的fedora中去

1 2 3 su chroot /media grub2-install /dev/sda

當然上述指令是講grub2安裝到硬盤MBR上恢復引導,如果你想裝在當前分區中讓其他軟件來引導就應該是
grub2-install /dev/sda10

OK,做下掃尾工作

1 2 3 4 5 6 7 exit umount /media/proc umount /media/dev/pts umount /media/sys umount /media/dev umount /media reboot

當然,上述修復的grub是原來的grub,opensuse沒了,其實grub2很強大,能自動識別n多系統,只需重新生成配置
文件即可。

1 2 3 su grub2-mkconfig -o /boot/grub2/grub.cfg reboot

congratulations

今天在幫別人修復的時候,又遇到一些問題,寫下來分享

首先:這台電腦的分區並不是我上面寫的簡單的一個 / 分區,用的LVM和一個boot分區(sda8),那麼在掛載的時候就要分別掛載了。在LVM裡有一個 root的邏輯卷組和一個swap卷組,位於/dev/mapper/vg_fedora_root,和/dev/mapper/vg_fedora_swap(這個的取名是自己定義的,如果采用系統自己默認的分區安裝,不是手動的話,名字不同)

1 2 3 su mount -o rw /dev/mapper/vg_fedora_root /media mount -o rw /dev/sda8 /media/boot

然後掛載上述寫的資源。

其次:在執行grub2-install 的時候,遇到錯誤

1 2 3 4 [root@Fedora sunhao]# grub2-install /dev/sda /sbin/grub2-setup: warn: Your embedding area is unusually small. core.img won't fit in it.. /sbin/grub2-setup: warn: Embedding is not possible. GRUB can only be installed in this setup by using blocklists. However, blocklists are UNRELIABLE and their use is discouraged.. /sbin/grub2-setup: error: will not proceed with blocklists.

網上查的是mbr和sda1之間的那塊embedding area太小了,應該是默認的63,如果是32的話會出現這個問題,但是我執行fdisk -lu,顯示這電腦已經是63了,不明原因。
google了一把,沒找到解決方案還是安裝不上去,後來我在wiki上面,看到了這個用法,強制安裝。

1 grub2-install --force /dev/sda

竟然可以裝上去,並且成功啟動~

Copyright © Linux教程網 All Rights Reserved