Boot

移動第三個分區可能會阻止作業系統的啟動

  • March 10, 2021

我有一個用於 ARM 嵌入式 Linux 系統的 wokring 圖像文件。rootfs 分區太大,我想縮小它。

初始場景:

Disk /dev/loop0: 7,22 GiB, 7744782336 bytes, 15126528 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: 0x00000000

Device       Boot    Start      End  Sectors  Size Id Type
/dev/loop0p1 *        2048   206847   204800  100M  c W95 FAT32 (LBA)
/dev/loop0p2        206848 12789759 12582912    1G 83 Linux
/dev/loop0p3      12789760 12810239    20480   10M a2 unknown   

第二個分區(rootfs)是要減少的分區。我用gparted打開/dev/loop0並將其減少到1G。然後我嘗試在前一個分區之後移動第三個分區(我不知道它不是也不包含什麼) - 否則它根本沒有意義!

但是 gparted 告訴我移動這個分區可能會阻止作業系統啟動。據我所知,只有“引導”分區(即第一個分區)對引導本身至關重要。

為什麼移動第三個可能會阻止啟動?

這可能是因為分區類型是a2。

A2  Hard Processor System (HPS) ARM preloader

此分區類型用於 ARM 類型電腦的可引導映像。

對於使用 x86 的普通 Linux 系統,您應該可以刪除此分區。

    • 編輯 - -

因為這是 ARM,所以它是預載入器映像。它是用作第一階段引導載入程序的多個 64K 塊。你能不能移動它,取決於你的板子。一些板使用分區表來查找類型 42 映像分區。

預載入器用作 bootrom 和引導載入器之間的中間步驟,因此它在 Linux 啟動之前執行。

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