如何挂载这个磁盘?

yeg*_*256 7 filesystems mount

我正在尝试安装前段时间在 Amazon EC2 中创建的光盘。这就是我所看到的(为了可读性而添加了换行符):

$ sudo file -s /dev/xvda4
/dev/xvda4: x86 boot sector; partition 1: ID=0x83, starthead 1, 
startsector 63, 10474317 sectors, extended partition table (last)\011, 
code offset 0x0
Run Code Online (Sandbox Code Playgroud)

当我尝试安装它时:

$ sudo mount /dev/xvda4 /mnt/foo
mount: wrong fs type, bad option, bad superblock on /dev/xvda4,
   missing codepage or helper program, or other error
   In some cases useful info is found in syslog - try
   dmesg | tail  or so
Run Code Online (Sandbox Code Playgroud)

我怎样才能挂载这张光盘?

也许这些信息会有所帮助:

$ sudo fdisk -lu /dev/xvda4
Disk /dev/xvda4: 5368 MB, 5368709120 bytes
255 heads, 63 sectors/track, 652 cylinders, total 10485760 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x0952616d
  Device Boot      Start         End      Blocks   Id  System
/dev/xvda4p1              63    10474379     5237158+  83  Linux
Run Code Online (Sandbox Code Playgroud)

yeg*_*256 5

Fernandez de Quilon 的帖子帮助了我:

$ mount -t ext4 -o offset=32256 /dev/xvda4 /mnt/foo
Run Code Online (Sandbox Code Playgroud)

工作正常。32256计算为63(分区开始)乘以512(扇区大小)。

  • 为什么不直接使用`/dev/xvda4p1`设备节点自动挂接到内部分区? (2认同)

Ros*_*tol 5

如果您尝试挂载旧快照,您可能会收到 uuid 错误。检查是否

 dmesg | tail
Run Code Online (Sandbox Code Playgroud)

节目:

[-your.timestamp.here-] XFS (xvdg): Filesystem has duplicate UUID - can't mount
Run Code Online (Sandbox Code Playgroud)

如果是这样,并且您只需要挂载即可从中获取一些东西,您可以像这样挂载它(在我的情况下是在 /var/www2 上):

mount -o nouuid /dev/xvdg /var/www2
Run Code Online (Sandbox Code Playgroud)

如果你想经常使用它,你需要像这样生成一个新的 UUID(在我的 /dev/xvdg 上,你应该用你的 /dev/... 替换它):

xfs_admin -U generate /dev/xvdg
Run Code Online (Sandbox Code Playgroud)