我在运行 Debian 5.0 的 Linux 机器上安装了一个 80GB 的 Intel X25-M SSD 驱动器。SSD 上的文件系统是 ext4。我对驱动器没有任何问题,并且已经使用它作为交换文件存储以及存储一些需要随机访问的大型数据库文件的地方已经有一段时间了。
但是,我注意到这个奇怪的大小读数来自ls:
> ls -lh /ssd
total 34G
-rwx------ 1 root root 23G 2010-12-11 18:00 file1.dat
-rwx------ 1 root root 22G 2010-12-11 18:00 file2.dat
Run Code Online (Sandbox Code Playgroud)
出于安全原因,我在这里更改了文件的名称,但除此之外,这正是ls输出的内容。显然,总尺寸读数是不正确的。
这是相应的输出 df
> df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 74G 35G 36G 50% /ssd
Run Code Online (Sandbox Code Playgroud)
尽管读数不正确,驱动器似乎工作正常,并且诊断实用程序发现驱动器没有任何问题。这是 中的某种已知错误ext4,还是更可能是驱动器出现物理问题?
我有一个损坏的 ext4 文件系统,上面有大约 7 TiB 的数据。使用 photorec,我能够恢复可用数据,但所有文件名都不见了。有没有工具可以让我恢复文件名?取回实际数据将是一个加分项,但并非绝对必要。
我有一个包含 122,865 个图像文件的驱动器,总共大约 82.1 GB。但是,它们使用了 171 GB 的磁盘空间。平均文件大小约为 717KB。由于我打算继续添加更多这种大小的文件,因此我想使用新的文件系统重新格式化我的驱动器或更改现有的驱动器以更好地容纳这些小文件。
该驱动器当前正在运行 ext4,默认设置由 ArchLinux 的mkfs.ext4. 我不确定从哪里开始解决这个问题,有人能指出我正确的方向或提供一些资源供我使用吗?
我以前从来没有关注过ext4lazyinit。但今天,在我格式化 4TB 外置 USB 硬盘并首次安装后,LED 灯一直闪烁,没有任何写入和读取。我发现这是因为 ext4lazyinit 初始化 inode 表。还有一个 [ext4lazyinit] 进程。我有一些问题:
1、既然NTFS不存在这个“问题”,那么ext4为什么要这样做呢?初始化 inode 表会让 ext4 比 NTFS 更安全、更快吗?我知道 NTFS 没有 inode,它有另一种处理数据的方式。但 NTFS 可以快速格式化和安装,无需初始化任何内容。那么为什么 ext4 会有如此大的不同呢?我想它相对于NTFS肯定有一些优势,不然初始化这么久还有什么意义呢?
2、ext4lazyinit耗时较长正常吗?ext4lazyinit 目前仍在运行。已经一个小时了,不知道还要多久。我对这里的时间计算不感兴趣。我只是想知道这是否正常。我google了一下,其他人遇到了6个多小时的ext4lazyinit时间。
3、由于硬盘长时间处于繁忙状态,是否会对硬盘造成一定程度的损坏?我感觉不太好,LED 持续闪烁几个小时,驱动器有点热。
4,如果我在格式化期间进行ext4 inode表初始化(运行手动mkfs.ext4命令),是否会花费同样长的时间?格式化需要 6 个小时以上吗?这对我来说有点可笑。我读到 ext4lazyinit 是新内核中的一个新功能。没有惰性初始化的过去怎么样?我不记得格式化驱动器并等待数小时才能完成。
谢谢。
更新: ext4lazyinit 过程现已完成。这段车程大约需要2个小时。这是一种新的驱动器。
使用 ext4 和 gparted 格式化 2TB 外置硬盘通常需要多长时间?
我正在对 Compact Flash 介质上的 EXT4 性能进行基准测试。
我创建了一个块大小为 65536 的 ext4 fs。但是我无法将其安装在 ubuntu-10.10-netbook-i386 上(它已经安装了块大小为 4096 字节的 ext4 fs)
根据我对 ext4 的阅读,它应该允许这么大的块大小的文件系统。我想听听你的意见。
root@ubuntu:~# mkfs.ext4 -b 65536 /dev/sda3
Warning: blocksize 65536 not usable on most systems.
mke2fs 1.41.12 (17-May-2010)
mkfs.ext4: 65536-byte blocks too big for system (max 4096)
Proceed anyway? (y,n) y
Warning: 65536-byte blocks too big for system (max 4096), forced to continue
Filesystem label=
OS type: Linux
Block size=65536 (log=6)
Fragment size=65536 (log=6)
Stride=0 blocks, Stripe width=0 blocks
19968 inodes, 19830 …Run Code Online (Sandbox Code Playgroud) 我的 Linux 安装分区时不时地变为只读。由于计算机是笔记本电脑,我认为这是由于一些剧烈运动引起的一些书写错误。
分区挂载为:
UUID=34h3k4hdf ... / ext4 errors=remount-ro 0 1
Run Code Online (Sandbox Code Playgroud)
如何在不重新启动系统或卸载并重新安装分区的情况下再次使其成为 rw ?
我有一个分区被安装为noexec. 它显示在mount输出上,但没有任何东西fstab可以做到这一点。
是从哪里来noexec的?
我的文件系统表:
UUID=1fbb29fe-cef2-4cc2-9b1e-ac45e74289ac / ext4 noatime,nodiratime,errors=remount-ro 0 1
# swap was on /dev/sda3 during installation
UUID=some-uuid-string none swap sw 0 0
/dev/sr0 /media/cdrom0 udf,iso9660 user,noauto 0 0
tmpfs /tmp tmpfs nodev,nosuid,noexec,size=2G 0 0
# old disks
#/dev/md0 /DATA ext4 noauto,nodiratime,errors=remount-ro,user 0 2
# new disks:
/dev/md1 /DATA ext4 noauto,nodiratime,errors=remount-ro,user 0 2
Run Code Online (Sandbox Code Playgroud)
我以用户或 root 身份挂载上面的 /DATA 分区。无论哪种情况我都会得到:
/dev/md1 on /DATA type ext4 (rw,nosuid,nodev,noexec,nodiratime,relatime,errors=remount-ro,stripe=16384,data=ordered,user)
Run Code Online (Sandbox Code Playgroud) 我想将我D:\所有数据的分区从 NTFS 转换为 ext4,互联网告诉我应该执行以下操作:
而且我不知道如何做第 4 部分。我真的可以像复制文件夹一样复制整个驱动器吗?有专门的工具吗?如何确保我不会错过系统隐藏的任何文件夹或符号链接等?如果这很重要,我有一个 Ubuntu live USB-Stick 可以使用。
我有2个硬盘,一个是EXT4,一个是EXFAT。两者都是 8TB,并且都包含相同的文件。
然而,如果我看看 Ubuntu 上 Gparted 中使用的空间量,就会发现有很大的差异。还包括 Ubuntu 中文件管理器的屏幕截图。
EXT4:有 154 GB 可用空间。
EXFAT:有 13 GB 可用空间。
从屏幕截图来看,两个驱动器的分配单元大小/块大小均为 512 字节,因此我认为(?)这不能解释它(尽管可能是错误的)。
是什么赋予了?
ext4 ×10
filesystems ×5
linux ×4
hard-drive ×3
mount ×3
ubuntu ×3
formatting ×2
partitioning ×2
exfat ×1
filenames ×1
gparted ×1
inode ×1
ntfs ×1
ssd ×1
umount ×1