主要操作系统是 Qubes,次要操作系统是 Windows 10。
sda
我有一个带有全盘加密 (LUKS) 的磁盘。但现在我在该磁盘上看不到我的 ext4 分区,并且只有一个大小为 50 MbL 的 NTFS 分区
...
...
│ │ └─qubes_dom0-vm--sys--firewall--private 253:87 0 2G 0 lvm
│ └─qubes_dom0-swap 253:5 0 7.3G 0 lvm [SWAP]
└─sdb1 8:17 0 500M 0 part /boot/efi
loop0 7:0 0 1G 0 loop
sda 8:0 0 5.5T 0 disk
└─sda1 8:1 0 50M 0 part
对于这种情况我该怎么办?有什么解决办法吗?
答案1
如果您确实将 LUKS 与sda
全磁盘设备一起使用,那么 Windows 无法识别任何未加密的内容:就 Windows 而言,该磁盘与通过在其上写入随机数据而擦除的磁盘没有什么区别。
结果,Windows 安装程序认为该磁盘可以免费使用。
虽然现代 Windows 安装需要多个分区,Windows 10 允许您仅指定成为系统驱动器的分区的位置C:\
(在上面的链接中称为“Windows 分区”)。安装程序将决定其他隐藏分区的位置。
在具有传统 BIOS 式引导的系统上,安装程序将尝试将至少第一个分区(在上面的链接中称为“系统分区”)放置到它确定为系统上的第一个磁盘的位置:这是一个启发式猜测最大限度地提高最终安装实际上可启动的可能性。
因此,如果您在 上使用了 LUKS /dev/sda
,我很遗憾地告诉您,Windows 似乎至少覆盖了它的开头部分。除非您在其他地方保存了 LUKS 标头(包含加密卷的加密主密钥)的备份,否则您的数据很可能无法恢复。
背景:传统 BIOS 实际上没有广泛支持的标准方法来告诉操作系统它认为哪些磁盘可启动,也没有告诉操作系统尝试启动这些磁盘的顺序。
任何操作系统安装程序所能做的最好的事情就是希望 BIOS 和运行安装程序的操作系统内核以相同的顺序检测到磁盘,并且 BIOS 默认使用第一个磁盘进行引导。不幸的是,当从 USB 介质启动时,BIOS 将 USB 呈现为“第一硬盘”以进行启动,因此磁盘顺序会暂时更改为从硬盘启动时的顺序。因此安装程序必须排除安装介质,然后希望磁盘排序的其余部分保持不变。
借助 UEFI,操作系统安装程序将能够以标准方式实际检查引导顺序设置,并将其引导加载程序插入引导顺序,而无需覆盖现有操作系统引导加载程序,而无需进行任何猜测。