幫助中心

當(dāng)前位置:首頁 > 幫助中心 > 怎么制作Linux U盤啟動系統(tǒng)

怎么制作Linux U盤啟動系統(tǒng)

日期:2011-05-01 | 時間:11:40
前兩天公司一linux系統(tǒng)被誤刪除文件,進(jìn)不了系統(tǒng)了,里面的數(shù)據(jù)很重要,為了把硬盤中的數(shù)據(jù)進(jìn)行恢復(fù),想了多個辦法,當(dāng)然很多辦法是可行的,比如把硬盤拿下來掛在另一個linux系統(tǒng)上,把數(shù)據(jù)考出來;比如跳過控制臺進(jìn)入系統(tǒng)進(jìn)行考數(shù)據(jù)。后來我就想制作一個U盤啟動的linux系統(tǒng),以后做些東西就比較方便了,所以就研究了兩個小時,下面是制作的過程,以供大家分享。在進(jìn)行mknod時,著實看了不少的英語文檔,后來終于明白了。 大白菜官網(wǎng)

  一.對U盤進(jìn)行處理

  1.分區(qū):(插上U盤)

  # fdisk /dev/sdb

  d Enter 刪除原有分區(qū)

  n Enter 新建一個主分區(qū)

  w Enter 保存設(shè)置

  # partprobe /dev/sdb 刷新U盤

  2.設(shè)定U盤分區(qū)為活動分區(qū)

  # fdisk /dev/sdb

  a Enter 設(shè)定為活動分區(qū)

  1 Enter 選擇分區(qū)

  3.對硬盤分區(qū)進(jìn)行格式化,格式化成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下生成了多個目錄

  三.加載系統(tǒng)啟動項

  1.# cp /boot/vmlinuz-2.6.18-128.el5 /net/boot/

  2.生成initrd.img `uname -r`為取系統(tǒng)版本號

  # mkinitrd --with=usb-storage /net/boot/initrd-usb.img `uname -r`

  3.查看/net/boot/下是否有vmlinuz和initrd

  四.制作boot loader(grub)

  1.# yum -y install --installroot=/net grub

  2.grub.conf不成自動生成,要手工創(chuàng)建

  # cp /boot/grub/grub.conf /net/boot/grub/grub.conf 并作修改

  # cat /net/boot/grub.conf

  default = 0

  timeout = 5

  title redhat-usb-linux

  root(hd0,0)

  kernel /boot/vmlinuz-2.6.18-128.el5 ro root=/dev/sdb1 init=/dev/bash

  initrd /boot/initrd-usb.img

  此處填寫的內(nèi)容要與/net/boot/grub/下的文件名一致

  五.安裝命令庫文件

  # yum -y install --installroot=/net bash coreutils pam setup vim-enhanced vim-minimal util-

  linux net-tools SysVinit passwd shadow-utils authconfig

  可通過rpm -qf /bin/mount 查看包名

  此時chroot /net下可使用剛才安裝的命令了

  六.創(chuàng)建磁盤分區(qū)

  # mknod /net/dev/sdb b 8 16

  # mknod /net/dev/sdb1 b 8 17

  b表示塊設(shè)備,8為主設(shè)備號,16、17為次設(shè)備號

  --------------------------

  | 有關(guān)設(shè)備號的解釋:

  | 1.對于一塊SCSI/SATA硬盤(格式為sd*),主設(shè)備號為8,

  | 第一塊硬盤的次設(shè)備號為0-15,第二塊硬盤的次設(shè)

  | 備號為16-31,依次類推。因為對于硬盤來說,主分

  | 區(qū)最多為4個,可以3個主分區(qū)1個擴(kuò)展分區(qū),擴(kuò)展分

  | 區(qū)仍然可以再分區(qū),但是分區(qū)的總數(shù)最多為16個,所

  | 以每一塊硬盤的次設(shè)備號為16個(0-15,16-31)。

  | 2.對于一塊IDE硬盤(格式為hd*),主設(shè)備號為3,次設(shè)

  | 備號第一塊為0-63,第二塊為64-127。

  | 3.# ls -l /dev/sd*

  | brw-r----- 1 root disk 8, 0 10-16 14:53 /dev/sda

  | brw-r----- 1 root disk 8, 1 10-16 14:54 /dev/sda1

  | brw-r----- 1 root disk 8, 2 10-16 14:53 /dev/sda2

  | brw-r----- 1 root disk 8, 3 10-16 14:54 /dev/sda3

  | brw-r----- 1 root disk 8, 16 10-16 15:50 /dev/sdb

  | brw-r----- 1 root disk 8, 17 10-16 15:50 /dev/sdb1

  | brw-r----- 1 root disk 8, 32 10-16 15:50 /dev/sdc

  | brw-r----- 1 root disk 8, 36 10-16 15:50 /dev/sdc4

  | 以上是我一臺主機上插了1個硬盤,兩個U盤的顯示情況,我

  | 們可以看到設(shè)備號的顯示情況。

  | 4.在linux中一切皆文件,硬件也是通過文件體現(xiàn)出來的,所

  | 有硬件設(shè)備都在/dev/有所顯示。

  | 5.更具體的設(shè)備號研究可以查看下面的文件。

  | # yum install kernel-doc

  | # /usr/share/doc/kernel-doc-2.6.18/Documentation/devices.txt

  ---------------------------

  七.

  1.創(chuàng)建mtab

  # cat /net/etc/mtab

  /dev/sdb1 / ext3 rw 0 0

  2.創(chuàng)建fstab

  # cat /net/etc/fstab

  /dev/sdb1 / ext3 default 1 1

  八.安裝grub

  # chroot /net

  # grub-install /dev/sdb1

  注:

  1.如果創(chuàng)建硬盤分區(qū)的時候沒有配置正確,在第八步會報錯:

  the file /boot/grub/stage1 not read correctly

  2.在用U盤啟動后,進(jìn)入到U盤中的系統(tǒng),此時我們可以用已經(jīng)

  安裝過的命令集,但是此時的文件系統(tǒng)是只讀的,我們不能vim,

  mount等的操作,此時必須用下面這個命令,進(jìn)行重新讀寫掛載:

  # mount -o remount,rw /

  重掛載后,就可以了。

(責(zé)任編輯:m.chanjuzi.cn)

大白菜超級U盤啟動盤制作工具