首先,我假设驱动器和/或分区从头到尾都有一个线性地址。必须是这种情况,否则类似的程序dd将无法充当复制机制。
在这个字节数组中,引导扇区几乎总是地址 0 吗?我想这取决于该驱动器上使用的文件系统?
抱歉这些低级的东西我真的不懂,想学习!
所以 3 个月前我组装了一台 PC,但有机会从我的工作地点借用 SSD。我最初在该 SSD 上安装了 Windows 7 试用模式,然后在几周后升级到 Windows 8,但将其安装在第二个硬盘上。然后我擦除了 SSD(至少我认为我完成了整个驱动器),并将其用作 Windows 8 中的数据驱动器。
今天我从我的系统中取出 SSD 以恢复工作,并立即格式化整个东西以将 ubuntu 服务器放在上面工作。现在我回到家,Windows 8 驱动器无法启动了。显然,当安装 Windows 8 时,它只是用自己的引导加载程序替换了 Windows 7 的引导加载程序,但在 ssd 上。
所以在过去的 2.5 个月里,我一直在引导到 ssd,然后它一直在转发到硬盘驱动器的操作系统扇区。现在 SSD 不见了(并完全擦除了),链条坏了,我没有引导扇区。如何在不完全重新安装 Windows 的情况下创建一个?
我有一个 Windows 8 安装 USB 密钥,我可以使用它进入恢复模式。这是我从照片中转置的来自 diskpart 的一些内容:
DISKPART> LIST VOL
Volume ### Ltr Label Fs Type Size Status Info
---------- --- ----------- ----- ---------- ------- --------- --------
Volume 0 NTFS Partition 465 GB Healthy
Volume 1 C ESD-USB FAT32 …Run Code Online (Sandbox Code Playgroud) 鲜为人知的事实:NTFS 引导扇区有不同的语言。他们可以说“ BOOTMGR is missing”和“ Press Ctrl+Alt+Del to restart”,但他们也可以用其他语言说同样的话。这取决于您在创建和格式化分区时所使用的 Windows 系统的区域设置。
由于恶意软件四处乱窜,我不得不重写系统驱动器的 NTFS 引导扇区,该扇区隐藏了一个 rootkit;我使用bootsect.exe安装 DVD 上的工具完成此操作,这是我最初用于安装 Windows 的意大利语安装 DVD;在那里的 it-IT 文件夹中还有一个不错的 bootsect.exe.mui 文件。但是该工具说的是英语,而我的 NTFS 引导扇区现在也说英语(当然,以前不会)。
我知道这纯粹是装饰性的事情,但我想知道:如何创建本地化的 NTFS 引导扇区(当然,无需在本地化系统中重新格式化分区)?
我有一张 FAT32 存储卡,当它插入计算机时,Windows 会提示对其进行格式化。该卡绝对不应该是空白的,并且上面有一堆文件。
使用十六进制编辑器/磁盘查看器,我检查了该卡,发现多个扇区/簇已被USBC扇区开头具有签名的内容覆盖。具体来说,主引导记录(和分区表)消失了(因此 Windows 认为卡是空白的并且需要格式化),引导扇区也是如此(它们的USBC签名和卷标为NO NAME,分区类型为FAT32)。
幸运的是,看起来 FAT 的两个副本几乎都完好无损(这里和那里的簇开头的一些 FAT 条目似乎被 覆盖了USBC)。根目录也几乎完好无损——我可以看到卷标条目和子目录列表,但有一个扇区被覆盖了。(USBC在 FAT2 中的最后一个之后没有更多实例。)
这些观察结果似乎表明某种病毒会擦除一些关键的文件系统结构,然后到处覆盖一些额外的扇区。谷歌搜索似乎证实了病毒的想法,但其他报告文件名为USBC它在这里并不适用,而事实上,不可能因为没有文件系统,甚至可以看到文件。我找不到有关具有这些症状的病毒的任何信息,也找不到删除工具。(我不禁想知道它是否真的是由于自动运行的病毒防护工具。)
我可能会修复 FAT 损坏,因为它们大多是连续的链,甚至可能是根目录的丢失扇区,但是有没有人知道一种方便的方法来恢复或(重新)创建 MBR/分区表和引导扇区(无需格式化)或覆盖数据)?
有没有办法用损坏的引导扇区恢复丢失的 NTFS 分区?
备份引导扇区也已损坏。我知道 NTFS 分区曾经在扇区中启动551585791。
因此,当我在决定使用 VM 之前使用 WUBI 时,安装了 GRUB(但我把它搞砸了,不得不重新安装所有东西(幸运的是我备份了))。那是我使用从 LBA 63 开始的 Vista 时的情况。从那时起,我切换到了从 LBA 2048 开始的 Se7en。我检查了 MBR 分区表并确定它们都存在。
另外,我在 Vista 原始磁盘的扇区 63 上有 BOOTMGR,但我最近得到的新磁盘在 2048 上有 BOOTMGR。所以我的问题是我可以用空值擦除磁盘的这个区域吗?是的,我知道它可能会出现严重错误,但是看到驱动器 2 上的空值让我感到困扰。
这是磁盘的 MBR。第二个不是启动驱动器
HDD1: 00 01 01 00 12 FE FF FF 3F 00 00 00 3B 4C 38 01 ; Hidden boot part
80 FE FF FF 07 FE FF FF 00 50 38 01 00 90 0A 24 ; Data
HDD2: 00 20 21 00 07 FE FF FF …Run Code Online (Sandbox Code Playgroud) 所以在我的C:驱动器上,有一个名为BOOTSECT.BAK的文件。不知道它是什么,我在HxD 中打开它,前 14 个字节B \0 O \0 O \0 T \0 M \0 G \0 R \0对应于 UTF-16LE string BOOTMGR。经过一番研究,我发现这是 Windows 的 VBR。它安装在扇区 63(或 Vista+ 上的 2048)上。
经过更多研究,结果证明它是 VBR的副本,而不是实际的东西。这让我很困惑,因为我很确定我在某个地方听说过 Windows 在C:\Windows\System32或C:\Windows\boot. 我还听说 Windows在这些目录之一中为MBR分配了一个文件。
TL;DR:NTFS(或任何其他文件系统)可以在分区外分配文件吗?最有可能使用负整数或起始扇区的 LBA(即扇区偏移为 -2048 或 LBA 为 2048)
我知道 BIOS 在 ROM 中,制造商“通常”将其设计为指向“活动”存储设备的第一个扇区的第一个扇区或 CHS (0,0,1)*physical 和 CHS (0,0, 0)*logical 根据您对分区的偏好,可以是 MBR 或 VBR。
引导扇区中存在用于 x86-CPU 的 IBM PC 兼容引导加载程序按照惯例由引导扇区末尾的两字节十六进制序列 0x55 0xAA(称为引导扇区签名)表示(偏移量 0x1FE 和 0x1FF) . 该签名表明至少存在一个可以安全执行的虚拟引导加载程序,即使它可能无法实际加载操作系统。
该引导签名标识的引导加载程序使用两个字节十六进制序列,所以我猜签名必须是在同一扇区偏移?因此,假设引导加载程序必须在同一个扇区中?
为什么可以在 Windows 中如此简单地覆盖引导扇区?我刚刚遇到了一个涉及写入原始物理磁盘的小编码事故,我搞砸了算术并最终将引导扇区归零(我承认是新手失败)。虽然很容易修复。但是,当一些随机程序尝试在引导扇区上写入时,操作系统不应该发出某种警告(这可以说是硬盘驱动器数据中最重要的部分,因为没有它,就无法识别硬盘驱动器)?
我的杀毒软件甚至没有启动我的程序,一想到病毒刚刚出现并无辜地覆盖我的引导扇区,我就不寒而栗。我的意思是这种东西肯定有“潜在破坏性”的资格,对吗?
这没什么大不了的,但我很惊讶地看到它甚至是可能的。有什么方法可以让 Windows 限制对引导扇区的访问,这样我(或另一个更邪恶的程序)就不能再把它搞砸了?
我的 Windows 系统中有两个驱动器:
前一段时间,我在第二个驱动器上安装了 Windows。现在我有了当前的设置,我想从驱动器 2 上的引导扇区中删除 Windows 的引导代码。具体来说,我不想擦除分区表或任何东西,只需删除(清零)寻找 NTLDR 的一点代码。
有没有软件或命令可以做到这一点?
bootsector ×10
hard-drive ×3
ntfs ×3
bootloader ×2
filesystems ×2
windows-7 ×2
bios ×1
boot ×1
diskpart ×1
fat32 ×1
language ×1
mbr ×1
memory-card ×1
sectors ×1
security ×1
storage ×1
windows ×1
windows-8 ×1