我正在阅读计算机的历史,我发现了 IA-64(安腾)处理器。它们听起来很有趣,我很困惑为什么英特尔会决定放弃它们。
能够明确选择要在该周期中运行的 2 条指令是一个好主意,尤其是在以汇编语言编写程序时,例如更快的引导加载程序。
对于任何汇编程序员来说,数百个寄存器应该是令人信服的。如果它不调用任何其他函数,您基本上可以将所有函数变量存储在寄存器中。
能够像这样执行三个操作数指令:
(qp) xor r1 = r2, r3 ; r1 = r2 XOR r3
(qp) xor r1 = (imm8), r3 ; r1 = (imm8) XOR r3
Run Code Online (Sandbox Code Playgroud)
与只有两个工作相比:
; eax = r1
; ebx = r2
; ecx = r3
mov eax, ebx ; r1 = r2
xor eax, ecx ; r1 = r2 XOR r3
mov eax, (imm8) ; r1 = (imm8)
xor eax, ecx ; r1 = (imm8) XOR r3
Run Code Online (Sandbox Code Playgroud)
我听说这是因为没有向后的 x86 …
所以,我一直对这个问题感到困惑:您的互联网速度是否因与路由器的距离而异?
立刻,我想是的,当然应该!但后来我想,所有东西都被下载到你的路由器上,所以如果我在 speedtest.net 上进行速度测试,我在哪里都不重要。我通过在以太网上进行测试证实了这一点;就在我的路由器旁边,然后再远一点。他们都一样。
但是,我的朋友在他的公寓里用更厚的墙做了这个,他从测试中得到了不同的结果;他离路由器越远,它们就越慢。
我似乎无法理解这一点。这有点道理,但当我想得更多时,这对我来说没有道理。我似乎不明白为什么会这样?我知道本地流量可能需要更长的时间,但为什么不进行速度测试?
因此,当我在决定使用 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)
我有一个 1 TB 的外置 USB 硬盘驱动器,它是用 100MB FAT32 EFI 分区进行 GUID 分区的。
问题是它是一个1 TB 的驱动器。据我所知,限制为2 tebibytes (TiB)。因此,GPT 不是必需的,可以使用 MBR 代替。
TL;DR:如果我删除 EFI 分区并在未从其启动的外部驱动器上重新格式化为 MBR 分区表会发生什么?
bootsector ×2
bootloader ×1
efi ×1
filesystems ×1
gpt ×1
hard-drive ×1
networking ×1
ntfs ×1
partitioning ×1
router ×1
sectors ×1
x86 ×1