Linux

如何將未分配的分區放在擴展分區下?

  • August 5, 2016

我有雙引導的 Windows 8.1 和 Fedora 24。但是,我現在想使用另一個不太知名的 Linux 作業系統進行三重預訂。我的分區如下所示:

GParted 結果

我知道我只能創建 4 個主分區,而在我的情況下,我已經有了 4 個主分區,因此,我無法使用未分配的空間創建新分區。我現在只想將未分配的空間放在我的/dev/sda4擴展分區下,這樣也許我可以在那個分區中安裝我的新 Linux 作業系統。命令的輸出fdisk -l也可以在下面找到:

Disk /dev/sda: 465.8 GiB, 500107862016 bytes, 976773168 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x6b62875c

Device     Boot     Start       End   Sectors   Size Id Type
/dev/sda1  *         2048    718847    716800   350M  7 HPFS/NTFS/exFAT
/dev/sda2          718848 790124543 789405696 376.4G  7 HPFS/NTFS/exFAT
/dev/sda3       840456192 842553343   2097152     1G 83 Linux
/dev/sda4       842553344 976773119 134219776    64G  5 Extended
/dev/sda5       842555392 850943999   8388608     4G 82 Linux swap / Solaris
/dev/sda6       850946048 976773119 125827072    60G 83 Linux

我要安裝的 Linux 作業系統是基於 Debian 的自定義作業系統,它不包含 GParted,因此我可以使用 Live CD 更改內容。知道如何解決這種情況並將我的新作業系統安裝在未分配的空間中嗎?

使用 Live CD/USB 中的 GParted 移動分區(您不能從已安裝的 Linux 本身執行此操作)。您可以使用任何包含 GParted 的實時分發,例如GParted Live

首先將/boot分區移動到未分配空間的開頭(“調整大小/移動”按鈕,將“前面的空閒空間”設置為0)。然後將擴展分區的開頭移動到未分配空間的開頭,並將大小設置為盡可能大。

為了獲得更多的靈活性,您可以將現有/boot分區移動到邏輯分區。我不認為你可以直接在 GParted 中這樣做,你需要創建一個相同大小的邏輯分區,複製數據,並刪除原始分區。

或者,僅在具有 BIOS 限制的舊電腦上才需要一個單獨的/boot分區(我認為其中任何一個都不能執行 Windows 8)或者如果根分區已加密(您的不是),因此您可以移動所有文件從/boot分區到/boot根分區的目錄,然後刪除/boot分區。

無論您選擇哪種策略,您都已修改/boot,因此您需要grub2-install再次執行。如果您/boot從主分區更改為邏輯分區,則需要更新/etc/fstab/boot/grub2/grub.cfg反映更改後的分區號。如果您移動/boot到根分區,則需要從中刪除條目/etc/fstab並更新/boot/grub2/grub.cfg. 我不確定您是否應該grub.cfg直接在 Fedora 上進行編輯;維基可能會有所幫助。

要獲得更大的分區靈活性,請使用LVM。調整分區大小更容易,它們不必佔用連續的磁碟空間,操作不易出錯,您通常可以在實時系統中進行。

引用自:https://unix.stackexchange.com/questions/301351