Linux 隨身碟分區與格式化和製作Linux檔案系統

來源:互聯網
上載者:User

特別值得一提的是Linux 隨身碟有很多值得學習的地方,這裡我們主要介紹Linux U分區盤,包括介紹Linux U格式化盤等方面。一直都很想用閑置下來的256MB Linux 隨身碟製作一個微型的Linux系統,可是,多次嘗試也沒做出來,今天終於做出了一個165.7MB的Linux系統。其中,遇到了不少問題,現在總結一下,以方便進一步的最佳化。

步驟

一、Linux 隨身碟分區

由於我的Linux 隨身碟只有256MB,如果再分開兩個區,可能容量就不夠了,所以,我的做法是Linux 隨身碟只分一個區。使用fdisk /dev/sdb指令,將u盤分成兩個分區,一個Linux Ext3分區,一個FAT16分區,並將Linux分區標記為可引導的分區。

 
  1. Disk /dev/sdb: 262 MB, 262012928 bytes  
  2. 1 heads, 56 sectors/track, 9138 cylinders  
  3. Units = cylinders of 56 * 512 = 28672 bytes  
  4. Disk identifier: 0x00000000 
 
  1. Device Boot      Start         End      Blocks   Id  System  
  2. /dev/sdb1               2         200        5572    6  FAT16  
  3. /dev/sdb2     *        201        9138      250264   83  Linux 

註:經測試Linux 隨身碟單獨分一個ext3分區似乎不太穩定?經常無緣無故的變回FAT16,怪了。

二、Linux 隨身碟格式化

值得注意的是在格式化前得先把Linux 隨身碟卸載掉。

sudo mkfs.vfat /dev/sdb1
sudo mke2fs -j -m0 -L SAN /dev/sdb2
sudo tune2fs -c -0 -i 0 /dev/sdb2

三、製作initRD

在製作時,提示“--preload=ehci-hcd ”找不到,我還沒確定該寫法是否有問題,或者應該是“--preload=ehci_hcd ”?sudo mkinitrd --preload=ehci-hcd --preload=usb-storage --preload=scsi_mod --preload=sd_mod /boot/usbinitrd.img `uname -r`

四、製作Linux檔案系統

將Linux 隨身碟mount起來,修改usb目錄的許可權,然後在Linux 隨身碟目錄下建立如下檔案夾chmod 777 -R /mnt/usb mkdir bin sbin etc dev lib sys proc usr var root home tmp mnt selinux

然後,將已有的Fedora10的檔案系統中的boot bin sbin etc lib 目錄及其下面的所有檔案複製到Linux 隨身碟中(我的做法是手動拷貝,這樣可一將其中的連結也保留下來,當然,也可以cp -arp ),我的Linux 隨身碟比較爛,經常出現Read-Only System的問題,不過重新mount一下就OK了!

補充說明:
1、後來嘗試還是使用文字終端手動Mount比較穩頭些!
2、還有一個關於磁碟檢查的問題,在製作的過程中Linux 隨身碟有可能出現錯誤,這時可以用e2fsck命令對相應分區作檢查,如e2fsck /dev/sdb2等。
3、製作檔案系統時一定要用UUID防止mount錯位,造成Linux 隨身碟檔案系統破壞!
4、系統啟動時顯示一行Log“loading /lib/keymaps/i386/qwerty/us.map”,這說明lib下的系統動態連結程式庫檔案相當關鍵!

以下為檔案系統的2層目錄結構,其中有些檔案夾是空的,但是,系統啟動起來後會在該目錄下建立相應的檔案,如/proc等。值得一提的是,我的Fedora10是只有文字介面,而沒有圖形化介面的,所以,檔案系統會小一些。建議大家如果想自己製作Linux 隨身碟啟動盤,最好也是利用沒有圖形化介面的檔案系統,這樣可以省不少空間。

在製作檔案系統時,尤其要注意/etc/fstab這個檔案的配置,如下:
注意:文中有關UUID的使用問題,請參考UUID一文。

 
  1. #/dev/sdb1   /   ext3    defaults        1 1  
  2. UUID=bbcbb70a-3da2-47cc-becd-5f3e3a162803    /   ext3    defaults        1 1  
  3. tmpfs                   /dev/shm                tmpfs   defaults        0 0  
  4. devpts                  /dev/pts                devpts  gid=5,mode=620  0 0  
  5. none                    /proc                   proc    defaults        0 0  
 
  1. [san@localhost san_fs]$ tree -d -L 2  
  2. |-- bin   
  3. |-- boot  
  4. |   |-- efi  
  5. |   |-- grub  
  6. |   `-- upgrade  
  7. |-- dev   
  8. |-- etc   
  9. |   |-- NetworkManager  
  10. |   |-- X11  
  11. |   |-- alternatives  
  12. |   |-- avahi  
  13. |   |-- blkid  
  14. |   |-- chkconfig.d  
  15. |   |-- cron.daily  
  16. |   |-- dbus-1  
  17. |   |-- default  
  18. |   |-- depmod.d  
  19. |   |-- dirmngr  
  20. |   |-- event.d  
  21. |   |-- fonts  
  22. |   |-- gcrypt  
  23. |   |-- gnupg  
  24. |   |-- init.d -> rc.d/init.d  
  25. |   |-- iproute2  
  26. |   |-- kernel  
  27. |   |-- ld.so.conf.d  
  28. |   |-- logrotate.d  
  29. |   |-- lvm  
  30. |   |-- makedev.d  
  31. |   |-- modprobe.d  
  32. |   |-- netplug  
  33. |   |-- netplug.d  
  34. |   |-- openldap  
  35. |   |-- opt  
  36. |   |-- pam.d  
  37. |   |-- pki  
  38. |   |-- popt.d  
  39. |   |-- ppp  
  40. |   |-- prelink.conf.d  
  41. |   |-- profile.d  
  42. |   |-- rc.d  
  43. |   |-- rc0.d -> rc.d/rc0.d  
  44. |   |-- rc1.d -> rc.d/rc1.d  
  45. |   |-- rc2.d -> rc.d/rc2.d  
  46. |   |-- rc3.d -> rc.d/rc3.d  
  47. |   |-- rc4.d -> rc.d/rc4.d  
  48. |   |-- rc5.d -> rc.d/rc5.d  
  49. |   |-- rc6.d -> rc.d/rc6.d  
  50. |   |-- rpm  
  51. |   |-- rwtab.d  
  52. |   |-- sasl2  
  53. |   |-- security  
  54. |   |-- selinux  
  55. |   |-- skel  
  56. |   |-- statetab.d  
  57. |   |-- sysconfig  
  58. |   |-- terminfo  
  59. |   |-- udev  
  60. |   |-- xdg  
  61. |   |-- xinetd.d  
  62. |   |-- yum  
  63. |   `-- yum.repos.d  
  64. |-- home   
  65. |-- lib   
  66. |   |-- bdevid  
  67. |   |-- dbus-1  
  68. |   |-- firmware  
  69. |   |-- i686  
  70. |   |-- kbd  
  71. |   |-- modules  
  72. |   |-- rtkaio  
  73. |   |-- security  
  74. |   |-- terminfo  
  75. |   |-- tls  
  76. |   |-- udev  
  77. |   `-- xtables  
  78. |-- mnt  
  79. |-- proc  
  80. |-- root  
  81. |-- sbin  
  82. |-- selinux  
  83. |-- sys  
  84. |-- tmp  
  85. |-- usr  
  86. `-- var 

(該目錄下還需建立lib lock run log等目錄,這可以根據系統起來後的提示確定 )85 directories

  1. Linux shell系統下執行export及使用man bash
  2. 啟動Linux Samba伺服器安裝配置實現構建
  3. Linux Trac配置安裝建立帳號檔案
  4. Linux mysql安裝修改root密碼服務
  5. Linux vsftpd安裝和啟動及命令列下登入,查看中文檔案出現亂碼

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.