歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> Arch Linux修復GRUB指南

Arch Linux修復GRUB指南

日期:2017/2/28 16:39:22   编辑:Linux教程

很久沒來寫東西了,玩Arch上瘾了,總的來說arch是個很不錯的Linux發行版,用它比用Ubuntu能學到更多Linux底層的知識,加深對Linux系統架構的理解。今天很不幸的因為裝一下該死的VISTA把GRUB給毀了,幸好前面為了防止這種情況特地看了一下wiki上關於grub修復的文章,哪知實際操作起來按照wiki上寫的完全不可以,在無數此嘗試後我終於把grub修好了,不敢私藏,把具體的方法寫出來和大家共享。歡迎指出錯誤之處。

在開始前先說說用到的命令的簡單說明。首先是mount掛載命令,mount -t type device mountpoint,這條命令是將分區掛載到指定的目錄,type是分區的格式,可以用的幾個格式有:adfs, affs, autofs, cifs, coda, coherent, cramfs,debugfs, devpts, efs, ext, ext2, ext3, ext4, hfs, hfsplus, hpfs,iso9660, jfs, minix, msdos, ncpfs, nfs, nfs4, ntfs, proc, qnx4,ramfs,reiserfs, romfs, smbfs, sysv, tmpfs, udf, ufs, umsdos,usbfs, vfat, xenix, xfs, xiafs,你需要根據自己分區選擇對應的格式。mount -o -bind olddir newdir,這條命令可以看出是轉換作用目錄的。chroot用於改變程序執行時所參考的根目錄位置。終端下輸入grub命令是進入grub提示符界面。grub下輸入root(hdX,Y)是指出Linux分區所在位置,一般X是0,Y則是你裝的Linux根目錄所在的分區號,注意這裡是所在分區號有點小講究,需要計算一下,比如我的是根目錄是在/dev/sda7的,而硬盤上計數是從0開始的,所以這個第7個分區的分區號就應該是6,就是說Y就應該是6。羅嗦了一點,因為這段東西是按照我自己的理解寫的,表達可能有點問題。在grub下setup (hd0)是將grub安裝到硬盤的MBR分區(主引導分區)。了解這些之後可以開始修復了。

啟動LIVECD,用root登錄,登錄之後就可以開始工作了。首先回憶一下你的分區,哪個分區掛載的是哪個目錄,這很重要。回憶一下/目錄是在哪個分區是什麼格式的,裝系統的時候有沒有為/boot目錄另外分區,如果分了又是在哪個分區是什麼格式。這裡我的電腦上/目錄是在sda7,格式是jfs,裝系統的時候我為/boot目錄分了區,是sda8,分區格式是ext3。向終端中逐條輸入下列命令:(#是指管理員權限)

#mount -t jfs /dev/sda7 /mnt

#mount -t ext3 /dev/sda8 /mnt/boot

#mount -t proc /proc /mnt/proc

#mount -t sysfs sys /mnt/sys

#mount -o bind /dev /mnt/dev

說明一下,第一句就是將原來系統的根目錄所在分區掛載到livecd的/mnt中,第二句是將原來系統中/boot目錄所在分區掛載到livecd的/mnt/boot,這兩句的先後順序不能換。第三句往後直接照抄就行,這幾句都是掛載目錄,為一會兒的在livecd中使用原來系統做准備。以上命令輸完之後輸入下一條命令:

#chroot /mnt /bin/bash

輸入這條命令之後你之後輸入的所有內容都是在原來系統中操作了。現在可以進行正式的grub修復了。在命令行中輸入

grub

進入grub提示符界面,通過

root (hd0,6)

指出Linux分區所在位置,注意這裡要把6改成你自己電腦的相應數值!這步之後輸入

setup (hd0)

來安裝grub到硬盤的主引導分區。這裡的hd0基本不用改。這裡我說的是基本,如果你的電腦有兩個硬盤請根據你自己的情況來定!到此grub已經重新安裝好了,輸入

quit

退出grub提示符,然後輸入

#exit

來結束chroot作用於原系統,輸入

#reboot

重啟你就能夠正常啟動你硬盤裡原有的系統了!

錯誤之處還請留言指出,謝謝!

Copyright © Linux教程網 All Rights Reserved