如何在 Windows Vista/7 中禁用“您需要格式化此磁盘”消息?

如何在 Windows Vista/7 中禁用“您需要格式化此磁盘”消息?

我已开始使用 TrueCrypt 加密外部 USB 硬盘上的分区。我选择使用原始分区,而不是文件容器。

但麻烦的是,每当我将此驱动器连接到运行 Vista 或 Windows 7 的计算机时,都会弹出一条消息“您需要先格式化驱动器 J: 中的磁盘,然后才能使用它”。

默认选项是“格式化磁盘”,我担心有一天我会不小心触发它。

有什么方法可以禁用该消息吗?

答案1

尝试进入控制面板 - 管理工具 - 计算机管理。在磁盘管理部分,删除原始分区的驱动器号。

它可以防止 Win7 要求您格式化分区,同时允许您在 TrueCrypt 中安装该分区。

如果不起作用,你可以尝试这个建议,即使用 Autokey 在消息框出现时自动关闭它。

答案2

我终于找到了解决方案。我在 Windows XP 和 Windows 7 上测试过。使用此解决方案,设备不会在插入时意外格式化另一台电脑

当您使用 TrueCrypt 创建原始分区时,它会将其指定为分区类型,0x06. 这是一个 FAT 分区,Windows 将始终尝试挂载它。

使用如下实用程序比布尔布鲁克斯(或者您最喜欢的 RAW 分区编辑器),将其更改为其他内容。我选择了0x64(基于可用的分区列表)“PC-ARMOUR 加密分区”。

更改它然后拔下并重新插入设备(电源循环)后,Windows 会将此分区视为外来分区,并且不会尝试安装它。我稍后会在 Linux 上测试它,但我相信这也会阻止 Linux 安装它。

PS:由于 Beeblebrox 似乎有点过时(Windows 版本上次更新于 2002 年),对于较新的 Windows,您可以使用内部磁盘分区。diskpart 的命令是:

list disk
select disk # <- your disk number here
list partition
select partition # <- your partition number here
set id=64
exit 

感谢@jonas-heidelberg 和@mhenry1384。

答案3

我想再次确认 SylikC 给出的答案。您不想搞砸您的系统,您想在分区上指示它不应尝试安装它。但我发现这有两个部分。

首先,按照 SylikC 的说法,使用 diskpart set id=64 或从多种分区类型中进行选择。但如果您之前已为分区分配了驱动器号,Windows 10 仍会为您提供“格式化此磁盘”对话框。为了防止这种情况,您还需要删除磁盘上的驱动器号分配。

要做到这一点,你设置分区类型

  list volume
  select volume <your volume with the drive letter>
  remove letter=<your drive letter you want to remove>
  set id=<now set the partition type>
  ...

如果你已经更改了分区类型,则必须先将其恢复到

  set id=6
  list volumes
  select volume <your volume with the drive letter>
  remove letter=<your drive letter you want to remove>
  set id=64

就是这样。下次插入该 USB 驱动器时,不会再出现警告。而且我安装 TrueCrypt 驱动器时没有遇到任何问题。

答案4

在具有 UEFI 启动和 TrueCrypt/VeraCrypt 分区的 USB 记忆棒的 Windows 10 上,什么都不起作用。

Windows 10 以某种方式分配字母,DiskPart 和磁盘管理都看不到它们,但注册表项存在HKLM\SYSTEM\MountedDevices,因此出现“格式化”消息......此外,在“安全删除硬件”时,它会在所有分区上出现字母。

Windows 10 的表现非常糟糕,以至于 EFI 分区在磁盘管理中没有带字母的分区,在 DiskPart 中它也不会被视为没有字母的卷,但是如果你进入资源管理器(使用“安全删除硬件”来了解字母但不要删除它),你会看到它带有字母并且可以进入它,修改文件/文件夹等。

重新连接时会重新创建密钥,因此没有可能的解决方案。

这个 Windows 10 令人头疼......都是因为将具有可移动媒体位的外部媒体视为“特殊”的单分区设备,即使它们有多个分区。

示例:在无法重新设置可移动媒体位的 USB 记忆棒上使用 NTFS+EFI+... 进行 USB EFI 启动。

警告:更改分区类型可能会损坏 VeraCrypt 分区上的数据。

但是,在注册表方面有一个技巧......执行此操作时要非常小心,并再三检查十六进制数据是否相同。

在注册表项上,有两个条目,每个分区都有相同的十六进制数据...嗯,一个以字母开头,一个以\??\Volume{...开头

\??\Volume{诀窍是重命名以属于您想要避免获取字母的分区的字母开头的字母。

不要以 开头,而\??\Volume{要以 开头#{

当然,删除以 开头的那个\DosDevices\

然后,将其移除(使用“安全移除”功能)并重新插入。按F5刷新注册表中的键以检查它是否有效。

在我的测试中它是有效的,但必须非常小心...我坚持对十六进制数据进行四重检查以确保其相同...很多时候我没有对它进行四重检查,我犯了一个错误,有时在下次重新启动时Windows没有启动,所以我需要用一个丑陋的可启动Windows安装DVD来修复它,通过进入控制台模式并从DVD运行regedit(无需重新安装)。

因此,在删除任何内容之前,请保存该注册表配置单元,并仔细检查您所做的事情。

但请确保十六进制数据是您想要的,否则您的系统可能无法启动。再检查一遍!!!

添加:

  • 如果你注意不要删除(只重命名)一个\??\Volume{,也不要编辑它的十六进制数据,那么你就可以安全
  • 在最坏的情况下,你需要使用 Windows 安装 DVD 启动并进入控制台模式,运行 regedit,然后将其重命名为\??\Volume{

所以:

  • 每次只做一件事……最好谨慎行事

你已经被警告过了,用手触摸注册表。

为什么这会起作用?

  • 它告诉 Windows 忽略该“卷”,因此它不会分配字母或将其列在该设备的安全删除硬件列表中。

是的,这适用于 USB 存储卡、记忆棒等,无需触碰可移动媒体位……它只是为了隐藏这些分区。

附注:这对于您不想在 USB 连接上自动安装的任何其他分区也有效。

相关内容