我正在使用parted对非 SSD 硬盘进行分区,因为我想要一个 GPT 分区表。
parted /dev/sda mklabel gpt
Run Code Online (Sandbox Code Playgroud)
现在,我正在尝试创建正确对齐的分区,因此我使用以下命令来了解第一个扇区的开始位置:
parted /dev/sda unit s p free
Disk /dev/sda: 488397168s
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Number Start End Size File system Name Flags
34s 488397134s 488397101s Free Space
Run Code Online (Sandbox Code Playgroud)
我们可以看到它从扇区 34 开始(这是使用此分区表时的默认值)。
因此,要创建我尝试的第一个分区:
parted /dev/sda mkpart primary 63s 127s
Run Code Online (Sandbox Code Playgroud)
将它对齐到第 64 扇区,因为它是 8 的倍数,但它显示:
警告:生成的分区没有正确对齐以获得最佳性能。
我硬盘中的逻辑和物理扇区大小均为 512 字节:
cat /sys/block/sda/queue/physical_block_size
512
cat /sys/block/sda/queue/logical_block_size
512
Run Code Online (Sandbox Code Playgroud)
如何创建正确对齐的分区?我究竟做错了什么?
我不断收到此错误:
警告!!检测到不受支持的 GPT(GUID 分区表)。使用 GNU Parted
我想回到正常的 MBR。我在这里找到了一些建议并做了:
parted /dev/sda
mklabel msdos
quit
Run Code Online (Sandbox Code Playgroud)
但是,当我mklabel
选择该选项时,它会发出警告,提示我将丢失/dev/sda
. 有没有办法在不格式化磁盘的情况下恢复正常的 MBR?
我有一个现有的 Windows 7 GPT 安装,它已经有一个 EFI 系统分区。
我现在正在尝试在单独的硬盘上安装 Linux,该硬盘也是 GPT 格式。我没有找到任何可以在没有 EFI 系统分区的情况下启动 grub 的工作方法,所以我的问题是:
grub2 是否可以使用与 Windows 相同的 EFI 系统分区?我如何告诉 grub2 使用它?
澄清我的设置:
gpt /dev/sda:
1 EFI System partition created by windows (100MB)
2 "Microsoft reserved partition" (200MB)
3 Windows root (rest of disk)
gpt /dev/sdb:
# After answering my own question: this partition is not needed
1 boot partition containing grub, kernels etc.(32MB)
2 crypto LVM partition (rest of disk)
Run Code Online (Sandbox Code Playgroud)
我希望 grub2 使用现有的/dev/sda1
EFI 分区。
PS:我的主板支持 EFI。
在blkid
输出中,某些行包含 UUID 和 PARTUUID 对,而其他行仅包含 PTUUID。他们的意思是什么?
特别是为什么分区需要两个ID,为什么有的分区用UUID/PARTUUID标识,有的用PTUUID标识?
我想安装 linux,但我不想冒险破坏我当前的 Windows 安装,因为我听说过很多恐怖故事。幸运的是,我有一个额外的硬盘。我可以将 linux 安装到那个上然后双引导 Windows 而不必修改 Windows 驱动器吗?
另外,我有一个 UEFI“BIOS”,Windows 驱动器是 GPT 格式。
会# dd if=/dev/zero of=/dev/sda
清除预先存在的分区表吗?
或者是相反的,即
# fdisk /dev/sda
g
(对于 GPT)
消除由/dev/zero
?
我正在尝试使用 安装将我的硬盘驱动器转换为 GPT gdisk
,当我运行时sudo gdisk /deve/disk1s4
我得到这个:
Warning! Secondary partition table overlaps the last partition by
2032668853 blocks!
You will need to delete this partition or resize it in another utility.
Run Code Online (Sandbox Code Playgroud)
这是否意味着将我的 HD 更改为 GPT 不安全?
我使用 GPT 作为我的分区方案。我检查我的分区的 UUID:
# ls -l /dev/disk/by-partuuid/
total 0
lrwxrwxrwx 1 root root 10 Oct 18 22:39 0793009a-d460-4f3d-83f6-8103f8ba24e2 -> ../../sdb3
lrwxrwxrwx 1 root root 10 Oct 18 22:39 13f83c47-ad62-4932-8d52-e93626166e7f -> ../../sdc3
lrwxrwxrwx 1 root root 10 Oct 18 22:39 1b247b1f-0b7b-419e-bc3b-0f90cbadb87c -> ../../sdc2
lrwxrwxrwx 1 root root 10 Oct 18 22:39 224d5933-7a23-4833-b785-79a67c9b9306 -> ../../sda1
lrwxrwxrwx 1 root root 10 Oct 18 22:39 2ff625b2-b96b-4ce5-b752-57cdf7092258 -> ../../sda3
lrwxrwxrwx 1 root root 10 Oct 18 22:39 449956f9-7289-49ed-9a37-ed6be9264d1c -> ../../sdb1
lrwxrwxrwx 1 root root …
Run Code Online (Sandbox Code Playgroud) 我正在尝试在 GPT 磁盘上挂载分区,但出现以下错误:
$ sudo mount -t ext4 /dev/sda1 disk/
mount: special device /dev/sda1 does not exist
Run Code Online (Sandbox Code Playgroud)
查看 dmesg,我在 /dev/sda 上没有看到任何错误:
$ dmesg | grep sda
[ 1.367508] sd 0:0:0:0: [sda] 5860533168 512-byte logical blocks: (3.00 TB/2.72 TiB)
[ 1.367514] sd 0:0:0:0: [sda] 4096-byte physical blocks
[ 1.367607] sd 0:0:0:0: [sda] Write Protect is off
[ 1.367611] sd 0:0:0:0: [sda] Mode Sense: 00 3a 00 00
[ 1.367654] sd 0:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO …
Run Code Online (Sandbox Code Playgroud)