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

Procedure如何恢复根 (/) 和 /usr 文件系统

  1. 成为超级用户或承担等效角色。

  2. 将新的系统磁盘添加到将在其中恢复根 (/) 和 /usr 文件系统的系统。

    有关添加系统磁盘的详细说明,请参阅SPARC: 如何连接系统磁盘并进行引导x86: 如何连接系统磁盘

  3. 在临时挂载点上挂载新的文件系统。


    # mount /dev/dsk/device-name /mnt
    
  4. 转到 /mnt 目录。


    # cd /mnt
    
  5. (可选)为安全起见,请对磁带进行写保护。

  6. 创建磁带设备的链接。


    # tapes
    
  7. 恢复根 (/) 文件系统。


    # ufsrestore rvf /dev/rmt/n
    

    系统将恢复转储级别 0 磁带。

  8. 取出磁带并在驱动器中装入下一级别的磁带。

    始终从转储级别 0 开始按照从低转储级别到高转储级别的顺序持续恢复磁带。

  9. 根据需要继续进行恢复。


    # ufsrestore rvf /dev/rmt/n
    

    系统将恢复下一级别磁带。

  10. 对每盒其他磁带,重复步骤 8步骤 9

  11. 验证文件系统是否已恢复。


    # ls
    
  12. 删除 restoresymtable 文件。


    # rm restoresymtable
    

    系统将删除已创建且通过 ufsrestore 命令执行检查点恢复的 restoresymtable 文件。

  13. 转到根目录 (/)。


    # cd /
    
  14. 取消挂载新创建的文件系统。


    # umount /mnt
    
  15. 检查新的文件系统。


    # fsck /dev/rdsk/device-name
    

    检查所恢复文件系统的一致性。

  16. 在根分区中创建引导块。

    在 SPARC 系统上:


    # installboot  /usr/platform/`uname-i`/lib/fs/ufs/bootblk 
    
    /dev/rdsk/device-name
    

    有关更多信息,请参见 installboot(1M) 手册页。

    有关在基于 SPARC 的系统上使用 installboot 命令的示例,请参见示例 27–6

    在 x86 系统上:


    # /sbin/installgrub /boot/grub/stage1 /boot/grub/stage2 /dev/rdsk/cwtxdysz
    

    有关更多信息,请参见 installgrub(1M)

    有关在基于 x86 的系统上使用 installgrub 命令的示例,请参见示例 27–7

  17. 在磁带机中插入新的磁带。

  18. 备份新的文件系统。


    # ufsdump 0uf /dev/rmt/n /dev/rdsk/device-name
    

    系统将执行转储级别 0 备份。由于 ufsrestore 命令将重定位文件并更改 inode 分配,因此应始终立即执行新创建文件系统的完整备份。

  19. /usr 文件系统重复步骤 5 到 16(如果必要)。

  20. 重新引导系统。


    # init 6
    

    将重新引导系统。


示例 27–6 SPARC: 恢复根 (/) 文件系统

本示例说明如何在 SPARC 系统上恢复根 (/) 文件系统。本示例假设系统是从本地 CD 或从网络进行引导的。


# mount /dev/dsk/c0t3d0s0 /mnt

# cd /mnt

# tapes

# ufsrestore rvf /dev/rmt/0

# ls

# rm restoresymtable

# cd /

# umount /mnt

# fsck /dev/rdsk/c0t3d0s0

# installboot /usr/platform/sun4u/lib/fs/ufs/bootblk

/dev/rdsk/c0t3d0s0

# ufsdump 0uf /dev/rmt/0 /dev/rdsk/c0t3d0s0

# init 6


示例 27–7 x86: 恢复根 (/) 文件系统

本示例说明如何在 x86 系统上恢复根 (/) 文件系统。本示例假设系统是从 GRUB 故障安全引导会话、本地 CD 或网络进行引导的。


# mount /dev/dsk/c0t3d0s0 /mnt

# cd /mnt

# tapes

# ufsrestore rvf /dev/rmt/0

# ls

# rm restoresymtable

# cd /

# umount /mnt

# fsck /dev/rdsk/c0t3d0s0

# /sbin/installgrub /boot/grub/stage1 /boot/grub/stage2 /dev/rdsk/c0t3d0s0

stage1 written to partition 0 sector 0 (abs 2016)

stage2 written to to partition 0, 227 sectors starting 50 (abs 2066)

# ufsdump 0uf /dev/rmt/0 /dev/rdsk/c0t3d0s0

# init 6