系统管理指南:设备和文件系统

第 2 章 管理可移除介质(任务)

本章介绍在 Solaris OS 中如何从命令行管理可移除介质。

有关与管理可移除介质关联的过程信息,请参见管理可移除介质(任务列表)。有关可移除介质的背景信息,请参见第 1 章,管理可移除介质(概述)

管理可移除介质(任务列表)

以下任务列表介绍了有关管理可移除介质的任务。

任务 

说明 

参考 

1. 装入介质。 

将软盘插入驱动器,然后键入 volcheck 命令。

如何装入可移除介质

2. (可选)格式化软盘。 

格式化软盘。 

如何格式化软盘 (rmformat)

3. (可选)添加 UFS 或 PCFS 文件系统。 

添加 UFS 或 PCFS 文件系统以使用该介质传输文件。 

如何在可移除介质上创建文件系统

4. (可选)检查介质。 

验证介质上文件系统的完整性。 

如何检查可移除介质上的文件系统

5. (可选)修复介质上的坏块。 

如有必要,请修复介质上的任何坏块。 

如何修复可移除介质上的坏块

6. (可选)应用读/写保护和口令保护。 

如有必要,请在介质上应用读/写保护或口令保护。 

如何在可移除介质上启用或禁用写保护

格式化软盘

rmformat 命令是可以用来格式化和保护可重写软盘的实用程序。除非 vold 没有运行,否则此实用程序不需要超级用户权限。卷管理 (vold) 将自动挂载文件系统。因此,如果介质包含现有的文件系统,则可能必须取消挂载该介质,然后才能对其进行格式化。

rmformat 命令具有以下三个格式化选项:

可移除介质硬件注意事项

使用软盘和 PCMCIA 内存卡时,请牢记以下限制:

软盘硬件注意事项

格式化软盘时,请牢记以下内容:

Solaris 系统可以格式化以下类型的软盘:

在 Solaris 系统(SPARC 或 x86)上,可以格式化以下密度的软盘。

软盘大小 

软盘密度 

容量 

3.5” 

高密度 (High density, HD) 

1.44 MB 

3.5” 

双倍密度 (Double density, DD) 

720 KB 

缺省情况下,软盘驱动器会将软盘格式化为相同的密度。此缺省设置表示,除非另行指定,否则 1.44 MB 驱动器尝试将软盘格式化为 1.44 MB,而不管该软盘实际上是否为 1.44 MB 软盘。换句话说,可以将一张软盘格式化为其容量或更低容量,并且驱动器可以为软盘执行这一操作。

Procedure如何装入可移除介质

有关可移除介质硬件注意事项的信息,请参见可移除介质硬件注意事项

  1. 插入介质。

  2. 确保该介质已格式化。

    如果无法确定,请插入介质并检查系统控制台窗口中的状态消息,如步骤 3 中所述。如果需要格式化介质,请转到如何格式化软盘 (rmformat)

  3. (可选的)如果使用的是传统的非 USB 软盘设备,请通知卷管理。


    $ volcheck -v
    

    可能会显示两条状态消息:

    media was found

    卷管理检测到介质,并将尝试在表 3–1 所述的目录中挂载该介质。

    如果介质已正确格式化,则控制台中不会出现错误消息。

    如果介质未格式化,则仍会显示 “media was found” 消息。但是,在系统控制台窗口中会出现类似以下内容的错误消息:

    fd0: unformatted diskette or no diskette in the drive

    fd0: read failed (40 1 0)

    fd0: bad format

    必须格式化介质后,卷管理才能挂载该介质。 有关更多信息,请参见第 2 章,管理可移除介质(任务)

    no media was found

    卷管理未检测到介质。请确保介质已正确插入,然后再次运行 volcheck。如果不成功,请检查介质,该介质可能已损坏。另外,也可以尝试手动挂载介质。

  4. 通过列出介质的内容,验证是否已挂载该介质。

    例如,对软盘执行以下操作:


    $ ls /floppy
    
    floppy0 myfiles

    提示 –

    floppy0 是指向软盘实际名称的符号链接。在本示例中为 myfiles。如果软盘没有名称但已正确格式化,则系统将其称为 unnamed_floppy

    如果 /floppy 目录为空,则表明软盘未挂载或者未正确格式化。要查明原因,请运行 mount 命令,然后查找以 /floppy 开头的行(通常位于列表结尾):

    /vol/dev/diskette0/ name 上的 /floppy/name

    如果未出现该行,则表明未挂载软盘。请查看系统控制台窗口中的错误消息。


Procedure如何格式化软盘 (rmformat)

可以使用 rmformat 命令格式化软盘:缺省情况下,此命令会在介质上创建两个分区:分区 0 和分区 2(整个介质)。

  1. 验证卷管理是否正在运行。如果正在运行,则可以使用设备名称的较短昵称。


    $ svcs volfs
    
    STATE          STIME    FMRI
    
    online         10:39:12 svc:/system/filesystem/volfs:default

    有关启动 vold 的信息,请参见如何停止和启动卷管理 (vold)。有关标识介质设备名称的信息,请参见使用可移除介质名称

  2. 格式化该软盘。


    $ rmformat -F [ quick | long | force ] device-name
    

    有关 rmformat 格式化选项的更多信息,请参见格式化软盘

    如果 rmformat 输出指明存在坏块,请参见如何修复可移除介质上的坏块

  3. (可选)使用 8 个字符的标号标记软盘。


    $ rmformat -b label device-name
    

    有关创建 DOS 标号的信息,请参见 mkfs_pcfs(1M)


示例 2–1 格式化软盘

本示例说明如何格式化软盘。


$ rmformat -F quick /dev/rdiskette

Formatting will erase all the data on disk.

Do you want to continue? (y/n) y

.........................................................................

Procedure如何在可移除介质上创建文件系统

  1. (可选的)格式化该软盘。


    $ rmformat -F quick device-name
    
  2. (可选)创建备用 Solaris 分区表。


    $ rmformat -s slice-file device-name
    

    将显示类似以下内容的片文件样例:


    slices: 0 = 0, 30MB, "wm", "home" : 
    
                  1 = 30MB, 51MB : 
    
                  2 = 0, 94MB, "wm", "backup" : 
    
                  6 = 81MB, 13MB
  3. 成为超级用户。

  4. 确定相应的文件系统类型,然后选择以下操作之一:

    • 创建 UFS 文件系统。例如:


      # newfs /vol/dev/aliases/floppy0
      
    • 创建 PCFS 文件系统。例如:


      # mkfs -F pcfs /dev/rdsk/c0t4d0s2:c
      
    • 创建 UDFS 文件系统。例如:


      # mkfs -F udfs /dev/rdsk/c0t1d0s1
      

示例 2–2 为 UFS 文件系统格式化软盘

以下示例说明如何格式化软盘并在该软盘上创建 UFS 文件系统。


$ rmformat -F quick /vol/dev/aliases/floppy0

Formatting will erase all the data on disk.

Do you want to continue? (y/n) y

$ su

# /usr/sbin/newfs /vol/dev/aliases/floppy0

newfs: construct a new file system /dev/rdiskette: (y/n)? y

/dev/rdiskette: 2880 sectors in 80 cylinders of 2 tracks, 18 sectors

        1.4MB in 5 cyl groups (16 c/g, 0.28MB/g, 128 i/g)

super-block backups (for fsck -F ufs -o b=#) at:

 32, 640, 1184, 1792, 2336,

# 


示例 2–3 为 PCFS 文件系统格式化软盘

本示例说明如何使用备用 fdisk 分区创建 PCFS 文件系统。在这些示例中,vold 没有运行。


$ rmformat -F quick /dev/rdsk/c0t4d0s2:c

Formatting will erase all the data on disk.

Do you want to continue? (y/n) y

$ su

# fdisk /dev/rdsk/c0t4d0s2:c 

# mkfs -F pcfs /dev/rdsk/c0t4d0s2:c

Construct a new FAT file system on /dev/rdsk/c0t4d0s2:c: (y/n)? y

#

本示例说明如何在不使用 fdisk 分区的情况下创建 PCFS 文件系统。


$ rmformat -F quick /dev/rdiskette

Formatting will erase all the data on disk.

Do you want to continue? (y/n) y

$ su

# mkfs -F pcfs -o nofdisk,size=2 /dev/rdiskette

Construct a new FAT file system on /dev/rdiskette: (y/n)? y

#

Procedure如何检查可移除介质上的文件系统

  1. 成为超级用户。

  2. 确定文件系统类型,然后选择以下操作之一:

    • 检查 UFS 文件系统。


      # fsck -F ufs device-name
      
    • 检查 UDFS 文件系统。


      # fsck -F udfs device-name
      
    • 检查 PCFS 文件系统。


      # fsck -F pcfs device-name
      

示例 2–4 检查可移除介质上的 PCFS 文件系统

以下示例说明如何检查介质上的 PCFS 文件系统的一致性。在本示例中,vold 没有运行。


# fsck -F pcfs /dev/rdsk/c0t4d0s2

** /dev/rdsk/c0t4d0s2

** Scanning file system meta-data

** Correcting any meta-data discrepancies

1457664 bytes.

0 bytes in bad sectors.

0 bytes in 0 directories.

0 bytes in 0 files.

1457664 bytes free.

512 bytes per allocation unit.

2847 total allocation units.

2847 available allocation units.

# 

Procedure如何修复可移除介质上的坏块

如果驱动器支持坏块管理,则只能使用 rmformat 命令来验证、分析和修复在验证过程中找到的坏扇区。大多数软盘、PCMCIA 内存卡和 USB 内存条都不支持坏块管理。

如果驱动器支持坏块管理,则会尽最大努力纠正坏块。如果尽最大努力也无法纠正坏块,则会显示一条消息,指明修复介质失败。

  1. 修复可移除介质上的坏块。


    $ rmformat -c block-numbers device-name
    

    提供以前的 rmformat 会话中的十进制、八进制或十六进制格式的块编号。

  2. 验证介质。


    $ rmformat -V read device-name
    

将读/写保护和口令保护应用于可移除介质

在支持此功能的可移除介质上,可以应用读保护或写保护,并设置口令。

Procedure如何在可移除介质上启用或禁用写保护

  1. 确定要启用还是禁用写保护,然后选择以下操作之一:

    • 启用写保护。


      $ rmformat -w enable device-name
      
    • 禁用写保护。


      $ rmformat -w disable device-name
      
  2. 验证是否已启用或禁用介质的写保护。


    $ rmformat -p device-name
    

Procedure如何在可移除介质上启用或禁用读/写保护以及设置口令

对于支持此功能的可移除介质,可以应用最多为 32 个字符的口令。

如果尝试在不支持此功能的介质上应用口令,则会收到一条警告消息。

  1. 确定是要启用还是禁用读/写保护,并设置口令。选择以下操作之一:

    • 启用读保护或写保护。


      $ rmformat -W enable device-name
      
      Please enter password (32 chars maximum): xxx
      
      Please reenter password:

      $ rmformat -R enable device-name
      
      Please enter password (32 chars maximum): xxx
      
      Please reenter password:
    • 禁用读保护或写保护并删除口令。


      $ rmformat -W disable device-name
      
      Please enter password (32 chars maximum): xxx
      

      $ rmformat -R disable device-name
      
      Please enter password (32 chars maximum): xxx
      
  2. 验证是否已启用或禁用介质的读/写保护。


    $ rmformat -p device-name
    

示例 2–5 启用或禁用读/写保护和口令保护

本示例说明如何在软盘上启用写保护并设置口令。


$ rmformat -W enable /vol/dev/aliases/floppy0

Please enter password (32 chars maximum): xxx

Please reenter password: xxx

本示例说明如何在软盘上禁用读保护并删除口令。


$ rmformat -R disable /vol/dev/aliases/floppy0

Please enter password (32 chars maximum): xxx