Windows 達到分割區限制

Windows 達到分割區限制

我正在嘗試使用 Windows、Ubuntu 和 Kali 進行三重啟動。但我的 SSD 中已經有 4 個分割區。這些都是:

  1. 100 MB NTFS(系統、活動、主分割區)
  2. Windows C:(啟動、頁面檔案、故障轉儲、主分割區)
  3. 824 MB(復原分割區)
  4. 25 GB(主分割區)-這是安裝的 Ubuntu。

我知道 Windows 和 Ubuntu 分割區,但其他兩個分割區我不知道為什麼它們位於單獨的分割區而不是 Windows 分割區。我怎麼才能將這些分割區「合併」在一起,以便為 Kali 建立另一個分割區?或者除非我卸載 Ubuntu 或 Windows,否則不可能嗎?

選擇空閒分割區:

圖片1

選擇自動佔用最大可用空間的引導式可用分割區選項:

圖2

答案1

100MB NTFS 和 824MB 分割區都是由 Windows 自動建立的。

第一個保留重要文件,以便讓您的電腦以恢復模式啟動(如上所述這裡),第二個儲存系統的小型備份,以便在 Windows 出現問題時可以轉到還原點。

您無法刪除其中任何一個,否則啟動 Windows 分割區時可能會出現問題。重新安裝 Windows 不會產生任何影響,因為這兩個分割區始終存在。

如果你想安裝 Kali,你必須減少主 WindowsC:分割區的空間(這可能需要向左/右移動分區),或 25GB Ubuntu 的。

答案2

您很可能有四個主分割區。 Ubuntu 的輸出sudo fdisk -l /dev/sdasda如有必要,用正確的名稱替換)將非常有用,但我會盡力在沒有它的情況下提供幫助。

現在我可以建議一個一般場景來解決您的問題。請記住,我還沒有對它進行整體測試。

由於還沒有fdisk輸出,我將做出一些假設。我們最終可以稍後糾正它們。假設是:

  • 驅動器位於/dev/sdaLinux 中;
  • 它有 DOS MBR,而不是 GPT;
  • 四個分區中的每一個都是主分區;
  • 邏輯扇區大小為512 B;
  • 分割區編號與您的編號清單相對應;
  • 分區順序和數字匹配(sda1優先sda2等);
  • 引導程式是 grub2。

正如acejavelin所說:

DOS MBR 允許 4 個主分割區,或 3 個主分割區和 1 個擴充分割區

目的是將 Ubuntu 的主分割區「轉換」為擴充分割區內的邏輯分割區。 Kali 的分割區稍後將會新增為擴展分割區中的下一個邏輯分割區。

準備中

  1. 在開始之前閱讀我的整個答案,以了解整體情況。根據您目前的分割區對齊方式和所需的分割區對齊方式,可能會跳過某些步驟;我的意思是主要是搞亂Windows。
  2. 備份您的重要數據
  3. 讀兩遍,思考三遍,檢查你的數字三遍- 然後做。
  4. 取得任何像樣的 Live CD/DVD Linux – 例如 Knoppix 或 Ubuntu 安裝程式(在嘗試Ubuntu模式;也許 Kali 安裝程式也有這樣的模式,我不知道)。最重要的是要有gparted。你已經安裝的 Ubuntu 在這裡沒有用,因為我們當時無法安裝它的分割區。
  5. 如果您需要調整 Windows 分割區大小(請參閱移動分區部分),啟動進入 Windows 並chkdskC:.它可能需要重新啟動,因此重新啟動並引導回 Windows。
  6. 同樣,如果您需要調整 Windows 分割區大小,請按鍵盤上的 WIN+R 並鍵入shutdown -s -t 0,然後按 Enter。在調整分割區大小之前,請勿再次啟動至 Windows。如果意外發生,請使用上述命令關閉。 (此步驟在 Windows 8、8.1、10 上可能很重要,可以完全關閉它。無論版本如何,它都不會造成任何損害,所以無論如何都要這樣做。)
  7. 啟動進入 Ubuntu。檢查/etc/fstab和是否/boot/grub/grub.cfg引用分區 by/dev/sdaX或 by通用唯一識別符。每次出現的 都/dev/sda4必須/dev/sda5稍後替換,我們會解決它的。透過 UUID 進行引用應該沒有問題。

移動分區

從 Live CD 啟動 Linux。如果您選擇的 Live CD 自動安裝/dev/sda*umount它們。

跑步sudo gparted /dev/sda。如果我的假設是正確的,它將顯示:

  • sda1一開始很小,
  • 很大sda2,旁邊有窗戶sda1
  • sda3追隨者sda2
  • 終於,sda4Ubuntu 接近尾聲了。

我不知道你給卡利留了什麼地方。可能是在最後,就在 Ubuntu 之後;或者就在之前。

gparted允許您對操作進行排隊,以便您可以在進行真正的更改之前取消其中任何操作。

請勿觸摸sda1。不要碰 的開頭sda2。否則可能會導致您的 Windows 無法啟動。您可以透過移動末端來縮小 Windows 分割區sda2,它不會影響啟動。如果您想為 Kali 和/或 Ubuntu 獲得更多空間,請執行此操作。在這種情況下,也要移動,以便和sda3之間沒有可用空間。sda2sda3

移動/調整 Ubuntu 的大小,以便在和之間有 1 MB間隙sda4(可用空間)。在磁碟的最後為 Kali 留出空間。sda3sda4

注意:我認為我們只需要一個扇區的間隙,所以 1 MB 就足夠了;gparted可能會讓它變得更大。不幸的是,這個工具適用於兆字節,而不是扇區。命令列工具parted可以處理扇區,但它不太友好,並且可能無法調整 ntfs 的大小 - 這就是我選擇的原因gparted

應用所有變更並等待結果。移動分區需要時間。

希望一切順利。透過啟動至 Ubuntu、Windows 進行健全性檢查。預計它將chkdsk在調整大小的 Windows 分割區上運行。

建立擴充分割區和邏輯分割區

再次從 Live CD/DVD 啟動。將您的 MBR(主開機記錄,它包含分割區表)儲存到檔案中:

sudo dd if=/dev/sda of=~/mbr.dd bs=512 count=1

如果出現錯誤,可以使用下列命令還原分割區表:

sudo dd if=~/mbr.dd of=/dev/sda

不幸的是,MBR 備份對於邏輯分割區來說是不夠的,但如果你弄亂它們,它可以最大限度地減少對主分割區的損壞。從現在開始要格外小心。

跑步sudo fdisk /dev/sda;它與自己的一組命令進行互動。更改是透過w命令儲存到磁碟的,而不是更早儲存到磁碟。如果出現問題,請使用q命令退出並重新開始

在裡面fdisk呼叫p命令來查看分割區表。 (在紙上)寫下 的起始磁區和結束磁區/dev/sda4,因為它是我們需要刪除的主分割區,然後按照邏輯重新建立。驗證你的筆記三次。

的起始磁區/dev/sda2可能比 的結束磁區大 1 /dev/sda1;這意味著它們之間沒有差距。這同樣適用於sda3sda2配對。然而sda4和之間應該有一個間隙sda3。取得 的結束扇區/dev/sda3添加一個並將結果寫成延長啟動時間。驗證數字三遍。確保它的數字小於 的開頭數字sda4

用指令刪除4號分割區d。請注意,即使您現在將更改寫入磁碟,它也不會真正破壞您的 Ubuntu。資料仍然存在,fdisk只是丟失了分區所在位置。稍後您將把它重新建立為邏輯分割區。

使用命令建立新分區n;讓它成為擴展分區。fdisk將建議一個起始扇區,其編號正是您的延長啟動時間value – 檢查是否匹配,如果匹配則按回車鍵。然後它會建議一個結束磁區作為磁碟的最後一個可用磁區 - 這是正確的事情,按 Enter 鍵。

再次使用n命令建立新分區。它將是編號為 5 的邏輯分割區sda4

您可能會注意到這些數字使sda4分區包含sda5。沒錯,邏輯分割區必須全部位於擴充分割區內。 Kali Linux 應該能夠在內部建立自己的擴充分割區,sda4因為還有剩餘空間。

新的分割表仍然僅在記憶體中(磁碟尚未受到影響)。用命令檢查一下p。在使用 編寫之前w,請仔細檢查以下幾件事:

  1. sda583預設應顯示 ID= ;該值適合 Linux。如果不同的話使用t命令將其更改為。83
  2. sda5應該顯示起始和結束扇區,因為它們是原始的sda4
  3. 新的sda4應該從最後一個扇區之後的扇區開始sda3;該數字應小於sda5起始扇區。

上面列表中的第三個位置非常重要。稍後您將把更改寫入磁碟。有關分區 1-4 的資訊將儲存在 MBR 中。此更改可以透過我們所做的 MBR 備份來還原。但邏輯分割區的資訊sda5將儲存在擴充分割區的開頭sda4。至關重要的是,sda4從沒有數據的正確位置開始——這就是我們創造的差距。如果您錯過了這個間隙,您可能會立即丟失一些資料。

經過三次檢查後,呼叫w命令將更改寫入磁碟。fdisk應該告訴內核有關新分區的信息,因此應該可以/dev/sda5掛載。現在這就是你的 Ubuntu。

(如果沒有/dev/sda5節點,請嘗試sudo partprobe修復它。)

更新文件(如果需要)

一開始我建議檢查你的 Ubuntufstab和/或是否grub.cfg使用/dev/sda4UUID。從現在開始,舊的sda4將是sda5,因此文件可能需要更新。我認為這樣做是安全的,即使文件沒有提到sda4,所以當有任何疑問時就這樣做。第一個掛載:

sudo mount -o rw /dev/sda5 /mnt

您將發現這些文件為/mnt/etc/fstab/mnt/boot/grub/grub.cfg。不要混淆/etc/fstab哪一個屬於 Live CD Linux,與您的 Ubuntu 無關。做好備份以防萬一,並將每個替換sda4sda5.這可以透過一個命令來完成:

sudo sed -i.backup 's/sda4/sda5/' /mnt/etc/fstab /mnt/boot/grub/grub.cfg

最後重新啟動並檢查兩個系統是否如預期啟動。 Kali Linux 現在應該能夠在安裝過程中利用可用空間。

相關內容