9. 设置双分区

9.1. 分区

这里描述的步骤会将闪存设备分区为两部分 —— 其中一个分区将格式化为 ext2,另一个分区将格式化为 vfat。当设备用于在两台(或多台)Linux 机器(ext2)之间以及 Linux 和 Windows 机器(vfat)之间传输数据时,这可能很方便

Important

映射到/dev/sda将被重新格式化。其上的任何数据都将被销毁。为了确保您操作的设备是您想要的设备,请在开始这些步骤之前从 USB 总线上移除类似的设备。

在本节中,我们将描述如何为记忆棒设置双分区:设备的一半将专用于 vfat 文件系统,另一半将专用于 ext2。 这样,您的设备将更加通用,但也稍微分散。 该步骤的详细程度将低于 第 8.1 节。 请注意,上一节的步骤已重复,并且显式输入了每种文件类型的十六进制代码(条目“t”后面的行:Win95 = b;Linux = 83)。 当分区仅用于 Linux 时,这是不必要的 —— Linux 是默认值。 另请注意,vfat 分区首先进行 —— 这是 Windows 的方式。

             # fdisk /dev/sda
	    
             Command (m for help): d
             Selected partition 1

             Command (m for help): n
             Command action
                e   extended
                p   primary partition (1-4)
             p
             Partition number (1-4): 1
             First cylinder (1-888, default 1): 
             Using default value 1
             Last cylinder or +size or +sizeM or +sizeK (1-888,
                   default 888):444
             Command (m for help): t
             Selected partition 1
             Hex code (type L to list codes): b
             
              Changed system type of partition 1 to b (Win95 FAT32)
             
             Command (m for help): n
             Command action
                e   extended
                p   primary partition (1-4)
             p
             Partition number (1-4): 2
             First cylinder (445-888, default 445): 
             Using default value 445
             
              Last cylinder or +size or +sizeM or +sizeK (445-888,
              default 888): 
             
             Using default value 888

             Command (m for help): t
             Partition number (1-4): 2
             Hex code (type L to list codes): 83

             Command (m for help): p

             
				 Disk /dev/sda: 131 MB, 131072000 bytes
             9 heads, 32 sectors/track, 888 cylinders
             Units = cylinders of 288 * 512 = 147456 bytes

                Device Boot    Start       End    Blocks   Id  System
             /dev/sda1             1       444     63920    b  Win95 FAT32
             /dev/sda2           445       888     63936   83  Linux
				 

             Command (m for help):w

   

Note

请注意,我们在写入之前继续了第二个分区。

将设备正好在中间分割(对于 128 MB 记忆棒,为 1--444;445--888)的选择是任意的。 任何其他经过深思熟虑的分割都可以。

如果您一开始就有多个分区,则必须重复步骤中的“删除”部分。

9.2. 创建双 ext2/vfat 系统

此步骤是 第 8.2 节 的重复。 第一步创建 dos 分区,第二步创建 Linux ext2 分区。

             # mkdosfs -F 32 /dev/sda1
             # mke2fs /dev/sda2
   

9.3. 测试 —— ext2 和 vfat

只需分别在两个设备上执行 第 7.4 节第 8.3 节 的测试。 挂载命令将是

             # mount -t vfat /dev/sda1 /mnt/fatstick 
             # mount -t ext2 /dev/sda2 /mnt/memstick
   

在您的设备上挂载两个分区。

9.4. 为双分区配置 Linux

您在其上进行分区的 Linux 机器将配置为双分区。 显然,您需要将密钥链带到另一台 Linux 机器。 在那里您会发现它只看到/dev/sda1。 这可能是一个内核的缺点。 解决方法如下:在新主机上执行(密钥链已插入但未挂载)

             # fdisk /dev/sda
                   Choose p; check partition table
                   If satisfied, choose w
             # less /proc/partitions
  

您的设备及其分区应该在那里。 密钥链上的数据应保持不变。 对于单个分区,这是不必要的。