幫助中心

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

怎么制作Linux U盤(pán)啟動(dòng)系統(tǒng)

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

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

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

  # fdisk /dev/sdb

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

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

  w Enter 保存設(shè)置

  # partprobe /dev/sdb 刷新U盤(pán)

  2.設(shè)定U盤(pán)分區(qū)為活動(dòng)分區(qū)

  # fdisk /dev/sdb

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

  1 Enter 選擇分區(qū)

  3.對(duì)硬盤(pán)分區(qū)進(jìn)行格式化,格式化成ext3格式

  # mkfs.ext3 /dev/sdb1

  二.裝filesystem包 (目的:生成根下的root,usr,var ...等目錄)

  1.配置好yum

  2.加載U盤(pán)到/net下

  # mount /dev/sdb1 /net

  3.安裝

  # yum -y install --installrot=/net filesystem

  安裝完成后,可查看/net下生成了多個(gè)目錄

  三.加載系統(tǒng)啟動(dòng)項(xiàng)

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

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

  # 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不成自動(dòng)生成,要手工創(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

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

  五.安裝命令庫(kù)文件

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

  linux net-tools SysVinit passwd shadow-utils authconfig

  可通過(guò)rpm -qf /bin/mount 查看包名

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

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

  # mknod /net/dev/sdb b 8 16

  # mknod /net/dev/sdb1 b 8 17

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

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

  | 有關(guān)設(shè)備號(hào)的解釋?zhuān)?/P>

  | 1.對(duì)于一塊SCSI/SATA硬盤(pán)(格式為sd*),主設(shè)備號(hào)為8,

  | 第一塊硬盤(pán)的次設(shè)備號(hào)為0-15,第二塊硬盤(pán)的次設(shè)

  | 備號(hào)為16-31,依次類(lèi)推。因?yàn)閷?duì)于硬盤(pán)來(lái)說(shuō),主分

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

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

  | 以每一塊硬盤(pán)的次設(shè)備號(hào)為16個(gè)(0-15,16-31)。

  | 2.對(duì)于一塊IDE硬盤(pán)(格式為hd*),主設(shè)備號(hào)為3,次設(shè)

  | 備號(hào)第一塊為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

  | 以上是我一臺(tái)主機(jī)上插了1個(gè)硬盤(pán),兩個(gè)U盤(pán)的顯示情況,我

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

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

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

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

  | # 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)建硬盤(pán)分區(qū)的時(shí)候沒(méi)有配置正確,在第八步會(huì)報(bào)錯(cuò):

  the file /boot/grub/stage1 not read correctly

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

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

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

  # mount -o remount,rw /

  重掛載后,就可以了。

(責(zé)任編輯:jointdoit.com)

大白菜超級(jí)U盤(pán)啟動(dòng)盤(pán)制作工具