我有一个非常特殊的情况,我需要基于 GPT 的磁盘来安装 hackintosh。我还想安装以下发行版:
* Ubuntu 16.04
* Elementary OS Luna (Ubuntu 12 based)
我现在很困惑,我是否可以使用 GPT 分区上的旧式启动来安装上述内容。这可能吗?
答案1
是的。Legacy 可以安装在GPT
分区表磁盘格式上。顺便说一句,它是正在逐渐取代的新标准MBR
。这种格式类型是更好的选择,因为它没有限制MBR
。
自 2003 年以来,读取和启动 GPT 分区表驱动器与所有基于 Intel 的计算机兼容。您不太可能找到无法读取该格式的 PC。
MBR
复制自到 的结果GPT
:
我曾经dd
将源驱动器中的分区复制MBR
到目标驱动器中的GPT
分区。唯一受影响的分区是目标驱动器上的目标分区。目标驱动器上的所有其他分区都保持原样。
目标驱动器是带有GPT
分区表的可启动驱动器。120G 驱动器上的操作系统是 Ubuntu 16.04。驱动器可以在具有EFI
兼容或仅具有 的计算机中启动legacy
。我测试了将驱动器启动到 10 年前的戴尔笔记本电脑,该笔记本电脑仅具有旧版支持。它在复制到笔记本电脑之前和复制到笔记本电脑之后都完美启动,因为我的电脑具有此UEFI
功能。
DD 复制脚本
当我执行我认为如此关键的任务时,我通常会very easy to follow
先创建一个脚本,仔细研究它并从脚本中运行关键命令。此外,我有一个巨大的命令历史缓冲区,并尽量减少意外从历史记录中运行错误的命令行。我从目录中调用脚本:./ddcopy.sh
我使用的脚本是:
ddcopy.sh:
#!/bin/bash
source="/dev/sdb1"
destination="/dev/sdc4"
read -p "Copy from device $source to $destination: [y/n] " -n 1 -r
if [[ $REPLY =~ ^[Yy]$ ]]
then
# do dangerous stuff
echo "..."
echo "Proceeding..."
time sudo dd if="$source" of="$destination" bs=4M status=progress ; espeak "Application Completed."
else
echo "..."
echo "Applicaton canceled."
fi
复制后,我使用gparted
edit 的check
命令来更正分区的完整性。两个分区大小不同。当磁盘挂载并且数据的校验和正确时,更正了check
大小差异。
文件完整性验证
我检查了checksum
源分区和目标分区上的文件,以确保传输文件的完整性。我还对目标驱动器进行了前后校验和测试,以确保复制后其他分区不受影响dd
。
多重checksum
检验的一个例子是:
$ sudo mount /dev/sdb1 /mnt
$ md5sum /mnt/* >> ~/checklist2.chk ; espeak "Application completed"