Linux U盤分區(qū)與格式化和制作Linux文件系統(tǒng)
特別值得一提的是Linux U盤有很多值得學(xué)習(xí)的地方,這里我們主要介紹Linux U分區(qū)盤,包括介紹Linux U格式化盤等方面。一直都很想用閑置下來的256MB Linux U盤制作一個(gè)微型的Linux系統(tǒng),可是,多次嘗試也沒做出來,今天終于做出了一個(gè)165.7MB的Linux系統(tǒng)。其中,遇到了不少問題,現(xiàn)在總結(jié)一下,以方便進(jìn)一步的優(yōu)化。
步驟
一、Linux U盤分區(qū)
由于我的Linux U盤只有256MB,如果再分開兩個(gè)區(qū),可能容量就不夠了,所以,我的做法是Linux U盤只分一個(gè)區(qū)。使用fdisk /dev/sdb指令,將u盤分成兩個(gè)分區(qū),一個(gè)Linux Ext3分區(qū),一個(gè)FAT16分區(qū),并將Linux分區(qū)標(biāo)記為可引導(dǎo)的分區(qū)。
- Disk /dev/sdb: 262 MB, 262012928 bytes
 - 1 heads, 56 sectors/track, 9138 cylinders
 - Units = cylinders of 56 * 512 = 28672 bytes
 - Disk identifier: 0x00000000
 
- Device Boot Start End Blocks Id System
 - /dev/sdb1 2 200 5572 6 FAT16
 - /dev/sdb2 * 201 9138 250264 83 Linux
 
注:經(jīng)測(cè)試Linux U盤單獨(dú)分一個(gè)ext3分區(qū)似乎不太穩(wěn)定?經(jīng)常無緣無故的變回FAT16,怪了。
二、Linux U盤格式化
值得注意的是在格式化前得先把Linux U盤卸載掉。
sudo mkfs.vfat /dev/sdb1
sudo mke2fs -j -m0 -L SAN /dev/sdb2
sudo tune2fs -c -0 -i 0 /dev/sdb2
三、制作initRD
在制作時(shí),提示“--preload=ehci-hcd ”找不到,我還沒確定該寫法是否有問題,或者應(yīng)該是“--preload=ehci_hcd ”?sudo mkinitrd --preload=ehci-hcd --preload=usb-storage --preload=scsi_mod --preload=sd_mod /boot/usbinitrd.img `uname -r`
四、制作Linux文件系統(tǒng)
將Linux U盤mount起來,修改usb目錄的權(quán)限,然后在Linux U盤目錄下創(chuàng)建如下文件夾chmod 777 -R /mnt/usb mkdir bin sbin etc dev lib sys proc usr var root home tmp mnt selinux
然后,將已有的Fedora10的文件系統(tǒng)中的boot bin sbin etc lib 目錄及其下面的所有文件復(fù)制到Linux U盤中(我的做法是手動(dòng)拷貝,這樣可一將其中的鏈接也保留下來,當(dāng)然,也可以cp -arp ),我的Linux U盤比較爛,經(jīng)常出現(xiàn)Read-Only System的問題,不過重新mount一下就OK了!
補(bǔ)充說明: 
1、后來嘗試還是使用文字終端手動(dòng)Mount比較穩(wěn)頭些! 
2、還有一個(gè)關(guān)于磁盤檢查的問題,在制作的過程中Linux U盤有可能出現(xiàn)錯(cuò)誤,這時(shí)可以用e2fsck命令對(duì)相應(yīng)分區(qū)作檢查,如e2fsck /dev/sdb2等。 
3、制作文件系統(tǒng)時(shí)一定要用UUID防止mount錯(cuò)位,造成Linux U盤文件系統(tǒng)破壞! 
4、系統(tǒng)啟動(dòng)時(shí)顯示一行Log“l(fā)oading /lib/keymaps/i386/qwerty/us.map”,這說明lib下的系統(tǒng)動(dòng)態(tài)鏈接庫文件相當(dāng)關(guān)鍵! 
以下為文件系統(tǒng)的2層目錄結(jié)構(gòu),其中有些文件夾是空的,但是,系統(tǒng)啟動(dòng)起來后會(huì)在該目錄下創(chuàng)建相應(yīng)的文件,如/proc等。值得一提的是,我的Fedora10是只有文字界面,而沒有圖形化界面的,所以,文件系統(tǒng)會(huì)小一些。建議大家如果想自己制作Linux U盤啟動(dòng)盤,最好也是利用沒有圖形化界面的文件系統(tǒng),這樣可以省不少空間。
在制作文件系統(tǒng)時(shí),尤其要注意/etc/fstab這個(gè)文件的配置,如下:
注意:文中有關(guān)UUID的使用問題,請(qǐng)參考UUID一文。 
- #/dev/sdb1 / ext3 defaults 1 1
 - UUID=bbcbb70a-3da2-47cc-becd-5f3e3a162803 / ext3 defaults 1 1
 - tmpfs /dev/shm tmpfs defaults 0 0
 - devpts /dev/pts devpts gid=5,mode=620 0 0
 - none /proc proc defaults 0 0
 
- [san@localhost san_fs]$ tree -d -L 2
 - |-- bin
 - |-- boot
 - | |-- efi
 - | |-- grub
 - | `-- upgrade
 - |-- dev
 - |-- etc
 - | |-- NetworkManager
 - | |-- X11
 - | |-- alternatives
 - | |-- avahi
 - | |-- blkid
 - | |-- chkconfig.d
 - | |-- cron.daily
 - | |-- dbus-1
 - | |-- default
 - | |-- depmod.d
 - | |-- dirmngr
 - | |-- event.d
 - | |-- fonts
 - | |-- gcrypt
 - | |-- gnupg
 - | |-- init.d -> rc.d/init.d
 - | |-- iproute2
 - | |-- kernel
 - | |-- ld.so.conf.d
 - | |-- logrotate.d
 - | |-- lvm
 - | |-- makedev.d
 - | |-- modprobe.d
 - | |-- netplug
 - | |-- netplug.d
 - | |-- openldap
 - | |-- opt
 - | |-- pam.d
 - | |-- pki
 - | |-- popt.d
 - | |-- ppp
 - | |-- prelink.conf.d
 - | |-- profile.d
 - | |-- rc.d
 - | |-- rc0.d -> rc.d/rc0.d
 - | |-- rc1.d -> rc.d/rc1.d
 - | |-- rc2.d -> rc.d/rc2.d
 - | |-- rc3.d -> rc.d/rc3.d
 - | |-- rc4.d -> rc.d/rc4.d
 - | |-- rc5.d -> rc.d/rc5.d
 - | |-- rc6.d -> rc.d/rc6.d
 - | |-- rpm
 - | |-- rwtab.d
 - | |-- sasl2
 - | |-- security
 - | |-- selinux
 - | |-- skel
 - | |-- statetab.d
 - | |-- sysconfig
 - | |-- terminfo
 - | |-- udev
 - | |-- xdg
 - | |-- xinetd.d
 - | |-- yum
 - | `-- yum.repos.d
 - |-- home
 - |-- lib
 - | |-- bdevid
 - | |-- dbus-1
 - | |-- firmware
 - | |-- i686
 - | |-- kbd
 - | |-- modules
 - | |-- rtkaio
 - | |-- security
 - | |-- terminfo
 - | |-- tls
 - | |-- udev
 - | `-- xtables
 - |-- mnt
 - |-- proc
 - |-- root
 - |-- sbin
 - |-- selinux
 - |-- sys
 - |-- tmp
 - |-- usr
 - `-- var
 
(該目錄下還需創(chuàng)建lib lock run log等目錄,這可以根據(jù)系統(tǒng)起來后的提示確定 )85 directories
【編輯推薦】















 
 
 
 
 
 
 