Masuk akal dari tabel partisi


17

Ini adalah output dari fdisk:

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1            2048   419424255   209711104   83  Linux
/dev/sda2       419424256  1258291199   419433472   83  Linux
/dev/sda3      1258291200  1300236287    20972544    f  W95 Ext'd (LBA)
/dev/sda4   *  1300236288  1709836287   204800000    7  HPFS/NTFS/exFAT
/dev/sda5      1258293248  1275062271     8384512   82  Linux swap / Solaris

Dan ini adalah output dari cfdisk:

Name         Flags       Part Type   FS Type           [Label]         Size (MB)
--------------------------------------------------------------------------------
                                     Unusable                               1.05  *
sda1                      Primary    ext4                              214744.18  *
sda2                      Primary    ext4                              429499.88  *
sda5         NC           Logical    swap                                8586.79  *
                          Logical    Free Space                         12889.10  *
sda4         Boot         Primary    ntfs                              209715.20  *
                                     Unusable                          124768.71  *

Saya seharusnya memiliki 2 partisi Linux, 1 partisi Windows perluasan partisi sekitar 20 GB dengan partisi swap 8GB yang logis dan sekitar 130GB ruang yang tidak dipartisi.

Seolah itu tidak cukup, output gpartedjuga agak berbeda. masukkan deskripsi gambar di sini

Saya bingung dengan output yang saya posting di sini.

  1. Mengapa /dev/sd4ditandai sebagai bootable jika saya boot ke GRUB2?
  2. Apa itu / dev / sda3? Apa jenisnya (primer / logis)? Mengapa tidak ditampilkan di cfdisk?
  3. Mengapa ruang bebas itu (saya kira 124768 cfdisk) ditandai sebagai tidak dapat digunakan?
  4. Apa arti NC flag cfdiskuntuk partisi swap?

Jawaban:


26

Mengapa / dev / sd4 ditandai sebagai bootable jika saya boot ke GRUB2?

Bootable adalah flag di MBR (sebenarnya byte yang dibandingkan dengan 0x80). Entri itu ditandai sebagai dapat di-boot. Bootloader 'tradisional' membaca MBR, mencari entri dengan flag yang dapat di-boot, dan memberikan kontrol padanya. Ketika Anda menggunakan grub, ia melakukan sesuatu yang sama sekali berbeda, karena ia menggunakan file konfigurasinya. Tetapi alat memberitahu Anda bagaimana partisi dikonfigurasikan (sebenarnya, Anda mungkin memiliki bootloader di MBR yang memindahkan Anda ke / dev / sda4, dan grub2 diinstal di sana).

Apa itu / dev / sda3? Apa jenisnya (primer / logis)? Mengapa tidak ditampilkan di cfdisk?

/ dev / sda3 adalah partisi utama dari tipe extended partisi . Ini adalah partisi yang digunakan sebagai wadah untuk partisi lain. gparted menunjukkannya dengan cukup baik pada grafiknya.

Anda bisa berdebat apakah itu benar-benar partisi atau tidak, di satu sisi dibutuhkan slot di MBR, di sisi lain itu adalah wadah partisi , Anda tidak meletakkan sistem file di sana.

Alat partisi memperlakukan mereka secara khusus, sehingga cfdisk tampaknya memilih untuk tidak menampilkannya. fdisk misalnya juga tidak mengizinkan beberapa tindakan pada partisi tersebut.

Mengapa ruang kosong itu (saya kira 124768 di cfdisk) ditandai sebagai tidak dapat digunakan?

Saya pikir itu adalah 116,20 GiB yang ditunjukkan oleh gparted di akhir

Anda hanya dapat memiliki hingga 4 partisi primer (menghitung partisi extended). Itu berasal dari jumlah slot di akhir MBR. Karena Anda sudah memiliki 4 dari mereka, ruang yang tidak terisi pada akhirnya tidak dapat dipartisi (Anda tidak dapat menempatkan partisi logis di sana, karena Anda hanya dapat memiliki satu partisi extended, dan itu harus berdekatan).

Opsi (mudah) Anda untuk menggunakan ruang itu adalah:

  • memperpanjang / dev / sda4 untuk menggunakannya
  • memperluas / dev / sda3 untuk memasukkan / dev / sda4 (dan lebih disukai juga ke akhir disk) dan menjadikan / dev / sda4 partisi logis

Apa arti NC flag di cfdisk untuk partisi swap?

Mengutip halaman manual cfdisk : "Bendera dapat berupa Boot, yang menunjuk partisi yang dapat di-boot, atau NC, yang merupakan singkatan dari" Tidak Kompatibel dengan DOS atau OS / 2 "." Bukan sesuatu yang perlu dikhawatirkan


11

Mari kita mulai ...

  1. Itu ditandai sebagai bootable, sehingga Windows dapat memuat boot loader-nya. Meskipun Grub mungkin memuat lebih dulu, itu akan "chainload" ke boot loader Windows, jika Windows dipilih dari daftar. Agar Windows Bootloader dapat dijalankan, ia harus berada pada partisi yang dapat di-boot (Dapatkah seseorang memeriksa ini untuk saya? Saya belum pernah mencoba menghapus tanda Bootable pada instalasi Windows 7 ...)

  2. SDA3 sebenarnya adalah partisi Extended . Disk Anda diformat sebagai MBR , bukan GPT . Salah satu batasannya adalah MBR hanya dapat memiliki hingga 4 partisi primer . Untuk menyiasatinya, Anda bisa menggunakan partisi primer Extended, untuk kemudian membuat beberapa partisi logis yang lebih kecil di dalamnya (memberi Anda lebih dari 4 partisi).

  3. Karena keterbatasan MBR, itu tidak dapat membuat partisi primer ke-5 di luar partisi Extended Logical . Ini normal. Jika Anda memperpanjang Partisi Extended, maka Anda harus dapat membuat partisi baru di dalamnya, dan menggunakan sisa disk Anda.

  4. Dari halaman Man cfdisk :

Bendera dapat berupa Boot , yang menunjukkan partisi yang dapat di-boot atau NC , yang merupakan singkatan dari "Tidak Kompatibel dengan DOS atau OS / 2".


Tidak masalah. Saya memposting jawaban yang sama, dan satu-satunya jawaban yang tidak Anda setujui lebih baik dari saya. ;)
Ƭᴇcʜιᴇ007

3

Partisi 1 sampai 4 adalah dengan konvensi "fisik" (mereka adalah satu-satunya tipe yang tersedia pada zaman itu). Jadi kamu punya:

Device    Boot      Start         End      Blocks   Id  System
/dev/sda1            2048   419424255   209711104   83  Linux
/dev/sda2       419424256  1258291199   419433472   83  Linux
/dev/sda3      1258291200  1300236287    20972544    f  W95 Ext'd (LBA)
/dev/sda4   *  1300236288  1709836287   204800000    7  HPFS/NTFS/exFAT

/dev/sda5      1258293248  1275062271     8384512   82  Linux swap / Solaris

... sda1bersifat fisik, Linux. sda2bersifat fisik, Linux lagi. sda3adalah partisi logical tempat lainnya (5 dan seterusnya) berada. Akhirnya sda4adalah partisi Windows, ditandai bootable - saya pikir hanya Windows yang peduli untuk itu lagi. GRUB2 dengan senang hati akan mem-boot partisi mana yang Anda inginkan, tetapi Windows ingin berada di partisi yang dapat di-boot.

Sekarang, di dalam partisi logis sda3, yang cfdisktidak menunjukkan demikian, ada yang setara dengan lebih banyak partisi fisik. Dalam hal ini saja sda5.

Dan sejak sda3beralih dari sektor 1258M ke sektor 1300M, tetapi sda5hanya menggunakannya hingga 1275M, sektor 1275062272 hingga 1300236287 gratis (tetapi dapat dialokasikan ke sda6).

Akhirnya, sda4(partisi fisik terakhir yang mungkin Anda miliki - MBR hanya menampung empat) tidak mengisi hingga akhir disk. Itu meninggalkan sekitar 116GB. Ruang itu tidak dapat digunakan karena Anda tidak dapat membuat partisi fisik untuk menutupnya (partisi diperluas sda3tidak dapat tumbuh, karena luasnya "diblokir" oleh sda4):

[SDA3...(sda5)...| FREE    ][...sda4...][ UNREACHABLE SPACE ]end-of-disk

Solusi untuk memulihkan ruang yang tidak tersedia

Tidak ada yang menyakitkan, aku takut. Bergantung pada geometri, Anda dapat menghapus sda4dan membubuhi keterangan batas-batasnya. Kemudian tumbuh sda3untuk memasukkan seluruh disk (mulai yang sama, 1258291200, tetapi berakhir sampai akhir disk), atau hapus dan buat kembali dengan awal yang sama dan ujung maksimum. Sekarang Anda dapat membuat partisi sda6di dalamnya sda3, dan membuatnya jadi berakhir di silinder tepat sebelum sektor 1300236288. Ini akan menempati ruang kosong yang tersisa saat ini sda3. Akhirnya Anda membuat partisi di dalamnya sda3, dan itu akan menjadisda7 , memberi tahu sistem itu meluas dari 1300236288 ke 1709836287 dan adalah tipe 7.

Jika Anda tidak memformat partisi itu, konten akan tetap seperti apa adanya, dan itu adalah partisi Windows yang valid. ini

Tentu saja jika ada yang salah, Anda akan kehilangan semua data Anda. Partisi fisik (seperti Windows yang sekarang sda4) dan partisi fisik-dalam-logis (seperti yang akan terjadi sda7) tidak harus dicampur; beberapa alat akan menolak untuk membuatnya. Saya menyarankan untuk melakukan tes pada disk virtual dengan ukuran yang sama, dibuat di dalam file jarang (file itu sendiri akan benar-benar hanya beberapa gigabyte) atau pada disk eksternal.

Cara lain, mungkin lebih aman, adalah menghapus sda5(hanya swap) dan sda3, pindahkan sda4parameter ke sda3(ini mungkin berarti menghapus sda4dan menciptakan kembali sda3dengan sda4parameter yang lama), dan ini akan membuat sda4slot bebas (dan "lubang" di tengah disk). Sebagian besar BIOS memungkinkan untuk tabel partisi out-of-sequence. Sekali lagi ini seharusnya tidak memerlukan menyalin apa pun. sda4sekarang menjadi sda3dan tetap menjadi partisi fisik, sehingga geometrinya harus lebih sesuai dengan asumsi alat partisi.

Tentu saja direkomendasikan cara dan paling aman (dan paling lambat) dari semua adalah untuk cadangan semua partisi, memformat mereka semua , dan memulihkan mereka setelah "reposisi" dengan benar, dengan partisi extended lalu dan menempati seluruh sisa hard disk. Ini akan menghilangkan ruang kosong di dalam sda3 dan mendapatkan kembali ruang yang tidak tersedia di akhir, tanpa risiko (jika cadangan dilakukan dengan benar - periksa setelah mencadangkan. Saya pernah dicadangkan di disk eksternal yang rusak, yang mati pada saya setelah pulihkan. Tidak lucu sama sekali).


0

Selain apa yang telah dikatakan tentang arti dari semua ini, saya pikir solusi yang paling tidak menyakitkan adalah memiliki ruang swap di area besar di akhir dan menambahkan ruang kosong di tengah ke Anda /home.

Untuk melakukannya, Anda harus melakukannya

  • hapus file swap Anda segera setelah tidak digunakan, dan juga partisi extended yang menahannya
  • lanjutkan sda2dengan memasukkan ruang kosong total setelahnya (Anda harus menghapus dan membuatnya kembali).
  • buat ulang partisi extended untuk diduduki sda3dan gunakan untuk menahan sebanyak mungkin partisi yang Anda inginkan (well, dalam batas-batas tertentu).

Ini paling mudah dilakukan cfdisk, karena ia menangani partisi yang diperluas secara dinamis. Tetapi berhati-hatilah yang sda2membuat LBA awalnya, karena jika tidak, Anda akan kehilangan kontennya.

Setelah memperluas ukuran partisi, Anda harus mengubah ukuran sistem file terlampir untuk memanfaatkan ruang penuh.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.