系統磁碟區

系統磁碟區

我有一個硬碟,上面安裝了 Ubuntu 16.04,現在我需要安裝 Windows 作為第二個作業系統,而不會遺失 Linux 中的任何資料。如果我理解正確的話,可以透過建立分割區並在新分割區上安裝 Windows 來完成。但是,我不知道如何在ext4檔案系統中建立分區表,特別是當它是系統磁碟時。

G分區螢幕

我還嘗試通過從閃存驅動器啟動並卸載 sda3 來創建新的分區表以創建分區,但我沒有成功。

如何在不遺失任何資料和Linux穩定性的情況下建立分區表?也歡迎其他方式。

答案1

您無法在 ext4 檔案系統上建立分割區。在磁碟的開頭有一個分割區表(傳統 BIOS 類型或 GTP),它描述了磁碟上有多少個分割區以及有多大。文件系統是在這些分區上建立的。 (Windows 的 NTFS 檔案系統,Linux 的 EXT4 或其他幾種類型。

在你的情況下,你必須這樣做:

  1. 首先備份您的重要資料。這很關鍵。
  2. 從筆式磁碟機(或系統磁碟以外的任何來源)啟動 Linux
  3. 調整 ext4 分割區的大小(縮小)。您無法減少已安裝的分割區,這就是您必須從外部來源啟動的原因。
  4. 調整系統虛擬分割區的大小使其與減少的 ext4 大小相符。為了安全起見,我建議您使用比 ext4 尺寸大一點的尺寸。因為您使用的是 lvm,所以可以使用 lvresize 來完成此操作。您甚至可以執行步驟 3.+4。立即使用 lvresize --resizefs 選項,這是最安全的選項。
  5. 現在您必須使用 pvresize 減少物理磁碟區。選擇未來所有 Linux 分割區所需的大小(您可以使用 lvm 動態建立分割區)。
  6. 現在刪除+重新建立您的底層 GPT 分割區。如果你刪除+重新建立你的分割區必須開始新分區相同的磁區位置比您刪除的分割區要高,否則您將遺失您的 lvm 資料(很可能還有您的檔案系統)。
  7. 現在您可以為 Windows 建立一個新分割區(或者您可以讓它建立)。 (在此之前我會檢查是否可以啟動linux)。

關鍵指令是(全部以 root 身份,或以 sudo 開頭):

# to list your logical volumes with phyisical pv-s
lvs -o +devices
# if you want 20G linux  system disk 
lvresize -r /dev/ubuntu-gnome-vg/your-system-lv-name 20G
# if you want preserve 500G for linux (you can use this space for anything)
pvresize --setphysicalvolumesize 500G /dev/sda3
# now resize the 3rd partition on disk1 to 500G (maybe a bit bigger for safety)
fdisk/parted/gparted
# after a reboot you can match up your pv exactly with the physical partition with (this is useful if you used the safe method and created a bit bigger partition eg.510G)
pvresize /dev/sda3

雖然它工作得很好(我做了好幾次),但有點高級的方法,不適合初學者。如果您對lvm/gpt 不太熟悉,備份您的Linux 檔案系統可能會更容易(從啟動CD 掛載它,tar+gzip 整個檔案系統並複製到隨身碟/外部硬碟上)然後建立兩個分割區(三個分割區)事實上,保留小 efi,一個分割區用於 win,一個分割區用於 linux),安裝 Windows,然後從 tar.gz 重新建立你的 linux 檔案系統。無論如何你都應該備份,所以即使你選擇前一種方法,這也可以是你的備份計劃!

其他注意事項:您的 Windows 可能(而且很可能會)覆寫您的啟動管理器(例如 grub),而您的 Linux 將無法啟動。如果是 UEFI/GPT,您可以選擇作業系統,在舊系統上您必須重新安裝 grub。這很簡單,只需從 USB 啟動、chroot 到系統檔案系統並 grub-install /dev/yourharddiskdevname 即可。許多安裝 USB(debian、ubuntu)可以從您的磁碟啟動(那麼您不必 chroot)。

答案2

根據我的經驗,先安裝 Windows,然後再安裝 Linux 會比較容易。

然而,Windows通常需要一個NTFS分割區。 Windows 會覆蓋grub2 引導管理器有自己的窗戶引導程式。雖然grub2可以處理啟動 Windows 和 Linux(選擇選單並在 <n> 秒後預設啟動),但 Windows 引導程式僅載入 Windows 作業系統。

  1. 備份系統
  2. 調整你的linux分割區大小
  3. NTFS建立新分割區並使用檔案系統格式化它
  4. NTFS從 Windows 安裝程式媒體(DVD/USB)啟動並在分割區上安裝 Windows
  5. 啟動 linux live 安裝程式媒體
  6. chroot 你的 Linux 分割區並修復 grub2(更新/重新安裝)

完畢

相關內容