修复boot分区文件被删除的方法
生活随笔
收集整理的這篇文章主要介紹了
修复boot分区文件被删除的方法
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
實驗環境:刪除boot上的幾個主要個文件:
config-2.6.18-164.el5
grub
initrd-2.6.18-164.el5.img
symvers-2.6.18-164.el5.gz
System.map-2.6.18-164.el5
vmlinuz-2.6.18-164.el5 <?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
?
修復過程:
1.先入放入光盤,從CD-ROM啟動Linux,進入Linux急救模式boot: linux rescue
<?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" />
?
2.掛載光盤, 安裝被刪文件所需要的rpm包mount /dev/hdc /mnt/source
rpm -ivh --root=/mnt/sysp_w_picpath /mnt/source/Server/kernel-xxx.rpm --force
3.安裝grub,手工編寫grub配置文件
chroot /mnt/sysp_w_picpath ??#更改root目錄
grub-install /dev/sda ??#安裝grub
vim /boot/grub/grub.conf
default=0 #默認加載第幾個系統,從0起算
timeout=5 #啟動時停留在Grub配置界面中的時間
splashp_w_picpath=(hd0,0)/grub/splash.xpm.gz #Grub的背景圖片
hiddenmenu #是否隱藏菜單
title Red Hat Enterprise Linux Server (2.6.18-8.el5) #操作系統的標題
root (hd0,0) #操作系統的引導分區
kernel /vmlinuz-2.6.18-164.el5 ro root=LABEL=/ rhgb quiet #設置加載的內核
initrd /initrd-2.6.18-164.el5.img4 #設置加載必要的驅動(內存磁盤文件)
4.退出,重啟
exit
sync
reboot
說明:grub.conf
?default - 默認引導的菜單條目。 timeout - 自動選擇默認引導前菜單顯示的時間。本例中,如果用戶沒有在?5 秒之內選擇操作系統,則會默認引導第一個條目 (即default 0)splashp_w_picpath - 指定 GRUB 引導菜單的界面風格。(hd0,0)/grub/splash.xpm.gz,是指在第一塊硬盤的第一個分區(hd0,0) 中,使用 grub 目錄下的 splash.xpm.gz 文件作為界面風格。一般來講,無需更改這個配置
hiddenmenu - 隱藏 GRUB 引導菜單。如果不想在啟動時顯示 GRUB 引導菜單,則刪除此條目。
系統引導條目
title - 引導條目的名稱。通常使用操作系統的名稱做為標識,你可以自行更改這個名稱,例如使用 "Fedora 12", "Fedora", 或者是 "MyLinux" 都可以。這個標題將顯示在 GRUB 引導菜單中。root - 操作系統內核和引導文件所在的磁盤分區。(hd0,0) 表示第一塊硬盤的第一個分區,(hd0,2) 表示第一塊硬盤的第3個分區,依次類推。 (0開始算起),這里面的root不是root用戶,就是代表/
kernel - 系統內核及 boot 命令用到的參數。
initrd - 系統引導程序
boot分區是不是可以被umount的掉
我如果不刪除/boot分區里面的重要的文件的話,直接umount /boot分區的話,重啟會不會導致系統啟動不了呢? 答案是不會。我們可以到Linux下的/etc/fstab命令來查看Linux啟動時的掛載情況及順序 ?? 可以看到上面,已經定義了在啟動時默認到/boot目錄下去尋找啟動文件,所以即便我們把boot分區umount掉了,重啟后還是能夠正常進入的。它是靠什么自動加載的呢?其實fstab 文件中的 defaults 就包含了 "auto" 功能,除非明確指定 noauto ,否則開機都會自動掛載。 ? 簡單的對etc/fstab做個介紹 /etc/fstab是用來存放文件系統的靜態信息的文件。當系統啟動的時候,系統會自動地從這個文件讀取信息,并且會自動將此文件中指定的文件系統掛載到指定的目錄。下面我來介紹如何在此文件下填寫信息。 我們要關注的是它的六個域,分別為:<file system>、<mount point>、<type> 、<options>、<dump>、<pass>。 ?1、<fie sysytem>。這里用來指定你要掛載的文件系統的設備名稱或塊信息,也可以是遠程的文件系統。做過嵌入式linux開發的朋友都可能知道mount192.168.1.56:/home/nfs /mnt/nfs/ -o nolock (可以是其他IP)命令所代表的意義。它的任務是把IP為192.168.1.56的遠程主機上的/home/nfs/目錄掛載到本機的/mnt/nfs /目錄之下。如果要把它寫進/etc/fstab文件中,file system這部分應填寫為:/192.168.1.56:/home/nfs/。
?? 如果想把本機上的某個設備(device)掛載上來,寫法如:/dev/sda1、/dev/hda2或/dev/cdrom,其中,/dev/sda1 表示第一個串口硬盤的第一個分區,也可以是第一個SCSI硬盤的第一個分區,/dev/hda1表示第一個IDE硬盤的第一個分區,/dev/cdrom 表示光驅。
?? 此外,還可以label(卷標)或UUID(Universally Unique Identifier全局唯一標識符)來表示。用label表示之前,先要e2label創建卷標,如:e2label /dir_1 /dir_2,其意思是說用/dir_2來表示/dir_1的名稱。然后,再在/etc/fstab下添加:LABEL=/dir_2 /dir_2 <type>?? <options> <dump> <pass>。重啟后,系統就會將/dir_1掛載到/dir_2目錄上。對于UUID,可以用vol_id -u /dev/sdax來獲取。比如我想掛載第一塊硬盤的第一個分區,先用命令vol_id -u /dev/sda11 來取得UUID,比如是:5dc08a62-3472-471b-9ef5-0a91e5e2c126,然后在<file system>這個域上填寫: UUID=5dc08a62-3472-471b-9ef5-0a91e5e2c126,即可表示/dev/sda11。Red Hat linux 一般會使用label,而Ubuntu linux 一般會用UUID。
?? 2、<mount point>。掛載點,也就是自己找一個或創建一個dir(目錄),然后把文件系統<fie sysytem>掛到這個目錄上,然后就可以從這個目錄中訪問要掛載文件系統。對于swap分區,這個域應該填寫:none,表示沒有掛載點。
?????? 3、<type>。這里用來指定文件系統的類型。下面的文件系統都是目前Linux所能支持的:adfs、befs、cifs、ext3、 ext2、ext、iso9660、kafs、minix、msdos、vfat、umsdos、proc、reiserfs、swap、 squashfs、nfs、hpfs、ncpfs、ntfs、affs、ufs。
?? 4、<options>。這里用來填寫設置選項,各個選項用逗號隔開。由于選項非常多,而這里篇幅有限,所以不再作詳細介紹,如需了解,請用 命令 man mount 來查看。但在這里有個非常重要的關鍵字需要了解一下:defaults,它代表包含了選項rw,suid,dev,exec,auto,nouser和 async。
?? 5、<dump>。此處為1的話,表示要將整個<fie sysytem>里的內容備份;為0的話,表示不備份。現在很少用到dump這個工具,在這里一般選0。
?? 6、<pass>。這里用來指定如何使用fsck來檢查硬盤。如果這里填0,則不檢查;掛載點為 / 的(即根分區),必須在這里填寫1,其他的都不能填寫1。如果有分區填寫大于1的話,則在檢查完根分區后,接著按填寫的數字從小到大依次檢查下去。同數字 的同時檢查。比如第一和第二個分區填寫2,第三和第四個分區填寫3,則系統在檢查完根分區后,接著同時檢查第一和第二個分區,然后再同時檢查第三和第四個 分區。 ? 紅內容來源于作者:陳景忠http://hi.baidu.com/jingzhongchen/blog/item/8e6f552dcead7ce98b139952.html
給GRUB加密碼
GRUB加密分為兩種。1、全局加密
2、局部加密
全局加密:
功能:鎖定啟動界面,禁止了
e to edit the commands before booting
a to modify the kernel arguments before booting
c for a command-line 然后我們看看全局加密碼后的效果。需要按P,輸入全局密碼才可以編輯查看commands.這樣就可以保護我們的局部密碼了。不輸入全局密碼可以直接回車開始啟動系統,如果你還有局部密碼,就需要輸入局部密碼。 ?
?
局部加密:相對與某個特定的系統來進行控制功能:用戶必須輸入密碼才能進入系統。 例:(你的電腦是雙系統,如果你只給一個加密的話,那么啟動另一個就不需要密碼)
下面我們來看看怎么實現這些功能 先說局部加密:
由于每個系統都是由title 來標志的,所以我們局部加密就是在這個標志后加入相應的語句。
加密分兩種
1、明文
2、MD5加密。
具體方法如下圖 ? ?上面就是對grub進行的密文加密,明文加密,就是在password后面"空格+密碼"就OK, [root@localhost ~]# grub-md5-crypt
Password:
Retype password:
$1$J7NPh/$77Q7IpLMzwetf2.adDQcN.
可以通過grub-md5-crypt來計計算MD5值,上面的MD5的值是"123456",直接拷貝到/boot/grub.grub.conf中就可以了。然后就保存退出,從新啟動就需要你輸入密碼才能進入系統。但是我們可以在啟動畫面用e鍵編輯進入command模式就可以查看密碼。我們需要怎么杜絕這種事情發生呢?那就需要全局加密,不讓其他人具有編輯的權限。 全局加密:
如上,生成一個MD5密碼。然后進入/boot/grub/grub.conf (明文,直接填加明文);在第一個title標志前面加如我們的密碼,如圖,timeout5后面就是我們對全局的加密。 ? ?這樣其他人需要全局密碼才能查看局部密碼。 這只是簡單整理以上內容,說明boot分區的修復和加密碼,接著研究linux的啟動過程,還linux的inodes的結構圖
轉載于:https://blog.51cto.com/dongdiy/366867
總結
以上是生活随笔為你收集整理的修复boot分区文件被删除的方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 打开MSN提示Windows Live
- 下一篇: 《Microsoft Sql serve