将旧的启动驱动器变为数据驱动器 - 使其无法启动

将旧的启动驱动器变为数据驱动器 - 使其无法启动

我有一个 1TB 的驱动器,如下所示:

$ sudo gdisk /dev/sdb
GPT fdisk (gdisk) version 1.0.1

Partition table scan:
  MBR: protective
  BSD: not present
  APM: not present
  GPT: present

Found valid GPT with protective MBR; using GPT.

Command (? for help): p

Disk /dev/sdb: 2000409264 sectors, 953.9 GiB
Logical sector size: 512 bytes
Disk identifier (GUID): D02C689D-715F-4380-B810-D0624582A381
Partition table holds up to 128 entries
First usable sector is 34, last usable sector is 2000409230
Partitions will be aligned on 2048-sector boundaries
Total free space is 2669 sectors (1.3 MiB)

Number  Start (sector)    End (sector)  Size       Code  Name
   1            2048         1640447   800.0 MiB   EF00  EFI system partition
   2         1640448        12126207   5.0 GiB     0C01  Basic data partition
   3        12126208      2000408575   948.1 GiB   8300

Command (? for help): 

我使用 dd 命令成功克隆了磁盘,以 sda 身份从克隆启动,并使用 usb 电缆将旧磁盘作为 sdb 安装。

我的问题是,如果我将此磁盘放回机器内部,它将从该磁盘启动,而不是新磁盘启动。

我怎样才能使该 sdb 不可启动?

我不想让它挂载或做任何事情,新磁盘启动后,该磁盘应该显示为未挂载的 /dev/sdx[1-3]

谢谢,jleslie

答案1

您无法在连接克隆驱动器的情况下重新启动。UEFI 或 BIOS 可能会启动一个驱动器或另一个驱动器,甚至启动其中一个驱动器的一部分和另一个驱动器的一部分,从而使它们不同步。

您可以使用 sgdisk 更改 GUID。这会更改所有 GUID,其中 sdX 是您要更改的驱动器。最好有好的备份。

man sgdisk
sudo sgdisk -G /dev/sdX 

-G, --randomize-guids 随机化磁盘的 GUID 和所有分区的唯一 GUID(但不是其分区类型代码 GUID)。克隆磁盘后可以使用此功能,以使所有 GUID 再次唯一。

您可以使用 uuidgen 或 tune2fs 更改 UUID。

man tune2fs
man uuidgen

sudo tune2fs -U random /dev/sdaX

这显示 UUID 和 partUUID/GUID

lsblk -o name,mountpoint,label,size,fstype,uuid,partuuid | egrep -v "^loop"

完成这些更改后,只有重新安装 grub 并手动更新 fstab 中的所有 UUID,克隆的驱动器才能再次启动。如果是交换分区,可能还需要更改其他 UUID 引用,例如 /etc/initramfs-tools/conf.d/resume。

答案2

您需要先卸载磁盘,然后重新启动gdisk...

在 gdisk 提示符下:
键入 a?enter显示可用选项。然后 - 从显示的内容中,找到删除分区 和所有分区表的
选项, 直到“什么都没有”剩下。

此时:创建一个干净的分区表和至少一个分区。只要您不主动使该分区可启动,该分区将处于“不可启动”状态。

退出 gdisk。

执行$ lsblk -p并查看新分区的最终结果(可能是 /dev/sdb1)并使其在您的用户名所在位置
$ udisksctl mount --block-device /dev/sdb1
可用。/media/$USER/$USER

为了使它在每次启动时都可用,而不需要上述操作,mount您需要找到正确的设置并填写在一行中/etc/fstab
sudo nano /etc/fstab- 假设您已经安装了 nano,那么可以使用简便易用的编辑器来编辑该文件)

此时,$ mount | grep sdb显示的内容可能是该行的开始,但可能需要进行一些修改。


保留分区并将磁盘标记为“不可启动”。

启动一个带有 gparted 的“活动磁盘”(例如,处于“试用模式”的 Ubuntu 安装媒体),或者sudo apt install gparted从 shell/终端执行。

运行 gparted,单击磁盘上的第一个分区,转到菜单中的分区 > 管理标志...。
该选项不存在或呈灰色:尝试其他分区(!?) - 如果是这样,通常磁盘不应该可启动。

相关内容