前兩天公司一linux系統被誤刪除文件,進不了系統了,裡面的數據很重要,為了把硬盤中的數據進行恢復,想了多個辦法,當然很多辦法是可行的,比如把硬盤拿下來掛在另一個linux系統上,把數據考出來;比如跳過控制台進入系統進行考數據。後來我就想制作一個U盤啟動的linux系統,以後做些東西就比較方便了,所以就研究了兩個小時,下面是制作的過程,以供大家分享。在進行mknod時,著實看了不少的英語文檔,後來終於明白了。
一.對U盤進行處理
1.分區:(插上U盤)
# fdisk /dev/sdb
d Enter 刪除原有分區
n Enter 新建一個主分區
w Enter 保存設置
# partprobe /dev/sdb 刷新U盤
2.設定U盤分區為活動分區
# fdisk /dev/sdb
a Enter 設定為活動分區
1 Enter 選擇分區
3.對硬盤分區進行格式化,格式化成ext3格式
# mkfs.ext3 /dev/sdb1
二.裝filesystem包 (目的:生成根下的root,usr,var ...等目錄)
1.配置好yum
2.加載U盤到/net下
# mount /dev/sdb1 /net
3.安裝
# yum -y install --installrot=/net filesystem
安裝完成後,可查看/net下生成了多個目錄
三.加載系統啟動項
1.# cp /boot/vmlinuz-2.6.18-128.el5 /net/boot/
2.生成initrd.img `uname -r`為取系統版本號
# mkinitrd --with=usb-storage /net/boot/initrd-usb.img `uname -r`
3.查看/net/boot/下是否有vmlinuz和initrd
| 以上是我一台主機上插了1個硬盤,兩個U盤的顯示情況,我
| 們可以看到設備號的顯示情況。
| 4.在linux中一切皆文件,硬件也是通過文件體現出來的,所
| 有硬件設備都在/dev/有所顯示。
| 5.更具體的設備號研究可以查看下面的文件。
| # yum install kernel-doc
| # /usr/share/doc/kernel-doc-2.6.18/Documentation/devices.txt
---------------------------
七.
1.創建mtab
# cat /net/etc/mtab
/dev/sdb1 / ext3 rw 0 0
2.創建fstab
# cat /net/etc/fstab
/dev/sdb1 / ext3 default 1 1
八.安裝grub
# chroot /net
# grub-install /dev/sdb1
注:
1.如果創建硬盤分區的時候沒有配置正確,在第八步會報錯:
the file /boot/grub/stage1 not read correctly
2.在用U盤啟動後,進入到U盤中的系統,此時我們可以用已經
安裝過的命令集,但是此時的文件系統是只讀的,我們不能vim,
mount等的操作,此時必須用下面這個命令,進行重新讀寫掛載:
# mount -o remount,rw /
重掛載後,就可以了。