我正在尝试安装前段时间在 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)
Fernandez de Quilon 的帖子帮助了我:
$ mount -t ext4 -o offset=32256 /dev/xvda4 /mnt/foo
Run Code Online (Sandbox Code Playgroud)
工作正常。32256
计算为63
(分区开始)乘以512
(扇区大小)。
如果您尝试挂载旧快照,您可能会收到 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)