ventoy / Ventoy

A new bootable USB solution.
https://www.ventoy.net
GNU General Public License v3.0
61.83k stars 4.02k forks source link

Ventoy's exFAT has not a Second FAT, That's dangerous | Ventoy 制作的 exFAT 没有FAT备份表,不安全 #207

Open sky5454 opened 4 years ago

sky5454 commented 4 years ago

[中文] Ventoy 的 exFAT 分区没有 FAT 备份表,这很不安全 而作为 EFI 启动区的 FAT16 却是有备份表的...

[EN] Ventoy's exFAT has only one FAT but without Second FAT(Backup FAT), That's dangerous. and the EFI(FAT16) has two FAT. Why?

and exFAT support two FAT, SEE: exFAT file system specification - Win32 apps | Microsoft Docs

如图 (look at the pics)

exFAT and FAT16 image

ventoy commented 4 years ago

已经收到有关这个问题的报告。Windows的安装程序格式化exfat时是借助了一个第三方的lib, 这个lib应该不支持。后面版本因为会增加 exfat/NTFS 的支持,因此会使用系统自带的格式化功能,应该就不会有这个问题了。 当前的版本,你可以手动重新再格式化一次。

sky5454 commented 4 years ago

已经收到有关这个问题的报告。Windows的安装程序格式化exfat时是借助了一个第三方的lib, 这个lib应该不支持。后面版本因为会增加 exfat/NTFS 的支持,因此会使用系统自带的格式化功能,应该就不会有这个问题了。 当前的版本,你可以手动重新再格式化一次。

事实上,Windows 自带的 ExFAT 格式化也是单分配表的,而其他的 FAT 是双分配表的

ventoy commented 4 years ago

是吗?我以为自带的是双分配表的。 你可以看看Linux版本的安装包制作出来的exfat是什么情况。 Linux版本的是使用开源的mkexfatfs程序格式化的。

sky5454 commented 4 years ago

是吗?我以为自带的是双分配表的。 你可以看看Linux版本的安装包制作出来的exfat是什么情况。 Linux版本的是使用开源的mkexfatfs程序格式化的。

你试一下吧,我手头没有 Linux,但是用磁盘精灵格式化 exFAT 也是单分配表的

maidmeow4 commented 4 years ago

使用了 exfat-utils-1.3.0-4.fc32.aarch64 提供的 mkexfatfs 格式化了一个空白的U盘,结果如下(分区表为 GPT)

image