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

Joe*_*rdi 80 windows-7 windows-vista truecrypt

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

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

默认选项是“格式化磁盘”,恐怕这几天我会不小心触发它。

有什么办法可以禁用此消息吗?

Sna*_*ark 60

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

它应该可以防止 Win7 要求您格式化分区,同时让您在 TrueCrypt 中挂载分区。

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

  • 我相信 OP 正在寻找一种适用于任何计算机的解决方案。软件安装不是一个选项。 (4认同)
  • 打开“磁盘管理”的更快方法是按 Ctrl+R 并键入“diskmgmt.msc”:-) (2认同)
  • @msorens:不,不会;Windows 通过写入其引导扇区的 ID 识别 USB 硬盘驱动器,因此它只会忽略来自该特定硬盘驱动器的分区。 (2认同)

小智 25

我终于找到了解决办法。我已经在 Windows XP 和 Windows 7 上对此进行了测试。使用此解决方案,当您将其插入另一台 PC时,设备不会被意外格式化。

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

使用Beeblebrox(或您最喜欢的 RAW 分区编辑器)等实用程序,将其更改为其他内容。我选择了0x64哪个(基于可用的分区列表)是“PC-ARMOUR 加密分区”。

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

PS 因为 Beeblebrox 对于较新的 Windows 似乎有点过时(2002 年 Windows 版本的最后更新),您可以使用内部diskpart。diskpart 的命令是:

list disk
select disk # <- your disk number here
list partition
select partition # <- your partition number here
set id=64
exit 
Run Code Online (Sandbox Code Playgroud)

感谢@jonas-heidelberg 和@mhenry1384。

  • **只有 ceveat** 是之后 TrueCrypt 不再将该卷识别为最喜欢的(如果它是一个)。您可以再次添加它,但不能给它一个标签,因此只有在它的名称“\Device\Harddisk5\Partition3”形式不变时才能识别它。即在插入 TrueCrypted 之前向您的系统添加不同的 USB 记忆棒会使收藏夹不起作用:-( (4认同)
  • Beeblebrox 似乎有点过时(Windows 版本的最后一次更新是在 2002 年),我无法让它在 Win7x64 下运行;在 Linux 下,您可以使用 `fdisk`(`t` 选项)更改分区类型;在 Windows 7 中,内置 [`diskpart`](http://technet.microsoft.com/en-us/library/cc766465(WS.10).aspx) 可以使用 `set id=64` 来完成。 (3认同)
  • diskpart的命令是:list disk / select disk # / list partition / select partition # / set id=64 / exit (2认同)
  • set id=64 在 Windows 10 中不起作用(diskpart 不会让你这样做),但我似乎对“set id=8DA63339-0007-60C0-C436-083AC8230908”很幸运 (2认同)

小智 6

我想再次确认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>
  ...
Run Code Online (Sandbox Code Playgroud)

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

  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
Run Code Online (Sandbox Code Playgroud)

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