我有一个 SSD 来保存 / 和我的主目录,但我还有一个 1TB 的硬盘驱动器,里面有我的大部分音乐。我尝试编辑 /etc/fstab 以自动挂载硬盘以节省时间。我正在运行 Kubuntu。
我打开 KDE 分区管理器检查文件系统的类型,它读取 ext3
我添加的行是:
/dev/sda /media/HDD ext3 defaults 0 2
Run Code Online (Sandbox Code Playgroud)
重新启动时,启动屏幕上的“Kubuntu”下出现错误,提示文件系统无法挂载,因此我按 S 跳过尝试挂载。
跑步sudo blkid
节目:
/dev/sda1: LABEL="HDD" UUID="00000000-dba3-409e-a185-345c60459125" TYPE="ext2"
/dev/sdb1: UUID="44cdc69c-0746-4a99-9c48-ccf7fca69768" TYPE="ext4"
/dev/sdb5: UUID="478bf04c-8bf6-46c4-86e8-e844380cf8e7" TYPE="swap"
Run Code Online (Sandbox Code Playgroud)
我记得我最初创建分区时,我没有将它设置为 ext2(即使这是大约 2 年前)
我尝试了几次不同的选项(将默认值更改为其他命令 rw、async、auto...)。HDD 将不再安装。在 dolphin 中打开时,消息如下:
访问“主页”时发生错误,系统响应:请求的操作失败:将 /dev/sda1 挂载到 /media/myname/HDD 时出错:命令行 `mount -t "ext2" -o "uhelper=udisks2, nodev,nosuid" "/dev/sda1" "/media/myname/HDD"' 以非零退出状态 32 退出:安装:错误的 fs 类型,错误的选项,/dev/sda1 上的超级块错误,缺少代码页或帮助程序, 或其他错误 在某些情况下,可以在 syslog 中找到有用的信息 - 尝试 dmesg | 尾巴左右
KDE 分区管理器说类型未知。单击“属性”将其显示为未格式化
fdisk -l
给出以下内容:
Disk /dev/sda: 1000.2 GB, 1000204886016 bytes
255 heads, 63 sectors/track, 121601 cylinders, total 1953525168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk identifier: 0x000819ae
Device Boot Start End Blocks Id System
/dev/sda1 63 1953520064 976760001 83 Linux
Partition 1 does not start on physical sector boundary.
Disk /dev/sdb: 128.0 GB, 128035676160 bytes
255 heads, 63 sectors/track, 15566 cylinders, total 250069680 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: 0x0001a3c6
Device Boot Start End Blocks Id System
/dev/sdb1 * 2048 233330687 116664320 83 Linux
/dev/sdb2 233332734 250068991 8368129 5 Extended
/dev/sdb5 233332736 250068991 8368128 82 Linux swap / Solaris
Run Code Online (Sandbox Code Playgroud)
尝试安装会出现错误
~ $ sudo mount /dev/sda /media/HDD
[sudo] password for myname:
mount: wrong fs type, bad option, bad superblock on /dev/sda,
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)
dmesg | tail
说:
[ 5632.049404] EXT2-fs (sda): error: ext2_check_descriptors: Block bitmap for group 880 not in group (block 0)!
[ 5632.049411] EXT2-fs (sda): group descriptors corrupted
[ 5669.867629] EXT2-fs (sda): error: ext2_check_descriptors: Block bitmap for group 880 not in group (block 0)!
[ 5669.867632] EXT2-fs (sda): group descriptors corrupted
[ 6894.395961] EXT2-fs (sda1): error: can't find an ext2 filesystem on dev sda1.
[ 7040.625599] EXT3-fs (sda1): error: fragsize 1024 != blocksize 4096 (unsupported)
[ 7045.462213] EXT2-fs (sda1): error: can't find an ext2 filesystem on dev sda1.
[ 7048.975278] EXT4-fs (sda1): VFS: Can't find ext4 filesystem
[ 7421.551590] EXT2-fs (sda1): error: can't find an ext2 filesystem on dev sda1.
[ 7451.874417] EXT2-fs (sda1): error: can't find an ext2 filesystem on dev sda1.
Run Code Online (Sandbox Code Playgroud)
跟踪:
$ strace -s 2000 -o mount.log blkid
/dev/sda1: LABEL="HDD" UUID="00000000-dba3-409e-a185-345c60459125" TYPE="ext2"
/dev/sdb1: UUID="44cdc69c-0746-4a99-9c48-ccf7fca69768" TYPE="ext4"
/dev/sdb5: UUID="478bf04c-8bf6-46c4-86e8-e844380cf8e7" TYPE="swap"
Run Code Online (Sandbox Code Playgroud)
/proc/文件系统:
$ cat /proc/filesystems
nodev sysfs
nodev rootfs
nodev bdev
nodev proc
nodev cgroup
nodev cpuset
nodev tmpfs
nodev devtmpfs
nodev debugfs
nodev securityfs
nodev sockfs
nodev pipefs
nodev anon_inodefs
nodev devpts
ext3
ext4
nodev ramfs
nodev hugetlbfs
vfat
nodev ecryptfs
fuseblk
nodev fuse
nodev fusectl
nodev pstore
nodev mqueue
nodev binfmt_misc
ext2
udf
Run Code Online (Sandbox Code Playgroud)
有多种方法可以确定驱动器文件系统类型。这是我熟悉的工具列表。
无论设备是否安装都有效。
$ blkid
/dev/sda1: UUID="XXXX" TYPE="ext4"
/dev/sda2: UUID="XXXX" TYPE="LVM2_member"
Run Code Online (Sandbox Code Playgroud)
这仅在块设备被挂载后才有用。
$ sudo mount | grep /dev/sda1
/dev/sda1 on /boot type ext4 (rw,relatime,seclabel,data=ordered)
Run Code Online (Sandbox Code Playgroud)
显示驱动器拓扑,但不显示设备上的文件系统类型。
$ sudo lsblk -a
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 465.8G 0 disk
??sda1 8:1 0 500M 0 part /boot
??sda2 8:2 0 465.3G 0 part
Run Code Online (Sandbox Code Playgroud)
$ tune2fs -l /dev/sda1 | grep magic
Filesystem magic number: 0xEF53
Run Code Online (Sandbox Code Playgroud)
显示与设备关联的幻数,您可以在此站点上查找这些,Linux 幻数。它也在一个文件中,通常在这里,/usr/share/magic
. 您可以使用locate /magic
.
$ sudo dumpe2fs /dev/sda1 | grep magic
dumpe2fs 1.42.7 (21-Jan-2013)
Filesystem magic number: 0xEF53
Run Code Online (Sandbox Code Playgroud)
同样的事情适用于tune2fs
.
这是内核维护的“文件”,用于显示已挂载的设备。注意:此列表中的许多工具通常使用此文件的内容。
$ sudo cat /proc/mounts | grep /dev/sda1
/dev/sda1 /boot ext4 rw,seclabel,relatime,data=ordered 0 0
Run Code Online (Sandbox Code Playgroud)
您还可以使用该file
命令显示有关已卸载文件系统的信息。
$ sudo file -s /dev/sda1
/dev/sda1: Linux rev 1.0 ext4 filesystem data, UUID=XXXX (needs journal recovery) (extents) (huge files)
Run Code Online (Sandbox Code Playgroud)
另一种语法(以 root 身份):
$ file - </dev/sda1
/dev/stdin: Linux rev 1.0 ext4 filesystem data, UUID=XXXX (needs journal recovery) (extents) (huge files)
Run Code Online (Sandbox Code Playgroud)
我怀疑您尝试挂载的文件系统不是您认为的那样。要么用文件系统 ( /dev/sda
)格式化整个设备,在这种情况下,您将安装整个驱动器。您可以像这样测试这个假设:
$ sudo mount /dev/sda /mnt
Run Code Online (Sandbox Code Playgroud)
如果您需要明确说明要使用的文件系统:
$ sudo mount -o ext2 /dev/sda /mnt
Run Code Online (Sandbox Code Playgroud)
注意:这通常不是将整个文件系统放在整个设备上的情况/dev/sda
,而是将它们划分为/dev/sda1
等。
或者驱动器已被分区。在这种情况下,你会看到这些分区使用上述命令lsblk
,在那里他们会显示为/dev/sda1
,/dev/sda2
等等。如果这是你,那么你就需要挂载分区,而不是像这样的情况:
$ sudo mount /dev/sda1 /mnt
Run Code Online (Sandbox Code Playgroud)
再次特别注意设备文件系统上使用的格式,您有时必须将其逐字指定为mount
.
由于您的输出fdisk
显示您拥有/dev/sda1
我倾向于认为您的文件系统位于第一个分区。
Device Boot Start End Blocks Id System
/dev/sda1 63 1953520064 976760001 83 Linux
Run Code Online (Sandbox Code Playgroud)
所以像这样安装它应该可以解决问题:
$ sudo mount -o ext2 /dev/sda1 /mnt
Run Code Online (Sandbox Code Playgroud)
如果上述挂载命令有效,那么您可以将其添加到您的/etc/fstab
文件中。
/dev/sda1 /media/HDD ext2 defaults 0 2
Run Code Online (Sandbox Code Playgroud)
您的挂载条目
/dev/sda /media/HDD ext3 defaults 0 2
Run Code Online (Sandbox Code Playgroud)
包含几个错误:
sda
必须是sda1
(或sdb1
)
ext3
必须是ext2
或ext4
(取决于(1))
通常你
在输入卷之前,应该在命令行上成功挂载卷 fstab
使用发行版的工具进行编辑 fstab
归档时间: |
|
查看次数: |
19413 次 |
最近记录: |