Linux U盘分区与格式化和制作Linux文件系统

运维 系统运维
将Linux U盘mount起来,修改usb目录的权限,然后在Linux U盘目录下创建如下文件夹chmod 777 -R /mnt/usb mkdir bin sbin etc dev lib sys proc usr var root home tmp mnt selinux 。

特别值得一提的是Linux U盘有很多值得学习的地方,这里我们主要介绍Linux U分区盘,包括介绍Linux U格式化盘等方面。一直都很想用闲置下来的256MB Linux U盘制作一个微型的Linux系统,可是,多次尝试也没做出来,今天终于做出了一个165.7MB的Linux系统。其中,遇到了不少问题,现在总结一下,以方便进一步的优化。

步骤

一、Linux U盘分区

由于我的Linux U盘只有256MB,如果再分开两个区,可能容量就不够了,所以,我的做法是Linux U盘只分一个区。使用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 U盘单独分一个ext3分区似乎不太稳定?经常无缘无故的变回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

在制作时,提示“--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 U盘mount起来,修改usb目录的权限,然后在Linux U盘目录下创建如下文件夹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 U盘中(我的做法是手动拷贝,这样可一将其中的链接也保留下来,当然,也可以cp -arp ),我的Linux U盘比较烂,经常出现Read-Only System的问题,不过重新mount一下就OK了!

补充说明:
1、后来尝试还是使用文字终端手动Mount比较稳头些!
2、还有一个关于磁盘检查的问题,在制作的过程中Linux U盘有可能出现错误,这时可以用e2fsck命令对相应分区作检查,如e2fsck /dev/sdb2等。
3、制作文件系统时一定要用UUID防止mount错位,造成Linux U盘文件系统破坏!
4、系统启动时显示一行Log“loading /lib/keymaps/i386/qwerty/us.map”,这说明lib下的系统动态链接库文件相当关键!

以下为文件系统的2层目录结构,其中有些文件夹是空的,但是,系统启动起来后会在该目录下创建相应的文件,如/proc等。值得一提的是,我的Fedora10是只有文字界面,而没有图形化界面的,所以,文件系统会小一些。建议大家如果想自己制作Linux U盘启动盘,最好也是利用没有图形化界面的文件系统,这样可以省不少空间。

在制作文件系统时,尤其要注意/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安装和启动及命令行下登录,查看中文文件出现乱码
责任编辑:佚名 来源: CSDN
相关推荐

2010-02-22 13:07:21

Ubuntu Serv

2013-07-08 17:41:53

Linux 系统U盘格式化

2009-10-28 14:29:40

linux文件系统

2010-02-22 09:13:29

Ubuntu硬盘

2019-09-11 08:57:10

Linux操作系统电脑

2010-04-22 10:42:22

2011-08-24 10:13:56

Chrome OSU盘存储卡

2018-11-02 10:45:35

windowsU盘格式化

2010-08-05 11:03:55

创建分区文件系统

2010-08-02 16:15:20

ibmdwLinux

2009-12-18 18:53:18

2010-03-02 14:57:18

Linux文件系统

2018-12-03 09:10:07

Linux驱动器命令

2014-08-07 11:26:04

linuxfdiskpartprobe

2010-08-02 16:25:03

ibmdwJDT

2011-01-13 14:10:30

Linux文件系统

2023-07-27 11:30:29

Rufus工具

2010-03-02 15:09:26

Linux mount

2021-04-12 05:44:44

Linux文件系统

2021-06-06 16:55:22

Linux文件系统
点赞
收藏

51CTO技术栈公众号