Bagaimana saya bisa memperbesar partisi EFI pada sistem dual-boot dengan Windows dan Linux?


2

Saya bermaksud menginstal Windows dan Linux di sistem saya yang di-boot dalam mode UEFI.

Untuk Linux, saya bermaksud melakukan hal-hal berikut:

  • instal kernel LTS dan versi apa pun saat ini yang dibawa oleh arus utama

  • gunakan systemd-boot

Jadi pada akhirnya, ukuran default (100 MB) dari partisi EFI, yang dibuat selama instalasi Windows menjadi cukup ramai (sekitar 94 MB digunakan). Karena itu saya ingin memperbesar partisi tersebut. Karena rekomendasi standar untuk tata letak disk menempatkan partisi MSR tepat setelah partisi EFI , saya menghapus partisi MSR. Kemudian Win 10 tidak memulai dan program perbaikan booting dari drive USB 10 Win mampu memperbaiki masalah boot.

Tetapi masalah intinya adalah bahwa saya tidak dapat memperbesar partisi EFI, baik dengan diskpartatau dengan GParted (pada drive USB Xubuntu 16.04.1). Ketika saya menjalankan extend size=100di bagian disk, ia mengatakan:

Anda tidak boleh menyusutkan oem esp atau partisi pemulihan. Volume yang dipilih [dll.] ...

GParted melempar kesalahan

gnu berpisah tidak dapat mengubah ukuran partisi ini ke ukuran ini. kami sedang mengerjakannya

Adakah yang tahu langkah-langkah yang diperlukan atau urutan "sederhana" yang bisa diperdebatkan untuk memperbesar partisi EFI?

Jawaban:


1

Saya dapat memikirkan dua cara untuk mengatasi masalah yang mungkin berhasil; tetapi tidak ada pendekatan yang sempurna atau semudah itu.

Metode # 1

Metode ini cukup mendasar:

  1. Cadangkan ESP. Cadangan berbasis file akan cukup.
  2. Lepas dari ESP.
  3. Temukan GUID ESP dengan mengetikkan sgdisk -i 1 /dev/sdasebagai root. (Contoh ini mengasumsikan bahwa ESP adalah partisi pertama pada disk pertama - /dev/sda1. Jika ini adalah partisi lain, Anda harus mengubah dengan -i 1tepat. Jika ada pada disk selain /dev/sda, Anda harus mengubah bagian itu juga.) Perintah ini menunjukkan berbagai informasi , termasuk satu baris yang diidentifikasi sebagai Partition unique GUID. Simpan nilai itu. (Perhatikan bahwa merekam dan menciptakan kembali nilai GUID dilakukan untuk kepentingan boot manager internal komputer. Jika Anda bersedia menggunakan efibootmgruntuk membuat kembali entri boot manager Anda, Anda dapat meninggalkan langkah ini dan langkah # 6 , di bawah.)
  4. Hapus ESP.
  5. Buat ESP baru yang ukurannya diinginkan. Perhatikan bahwa ini berarti ESP dan sistem file baru di atasnya.
  6. Gunakan gdiskatau sgdiskuntuk mengubah GUID ESP yang baru. Misalnya, sgdisk -u 1:2C17D5ED-850D-4F76-BA31-47A561740082 /dev/sda(as root) mengubah GUID /dev/sda1menjadi 2C17D5ED-850D-4F76-BA31-47A561740082.
  7. Pasang ESP baru
  8. Kembalikan file yang dicadangkan ke ESP.
  9. Jika perlu, edit /etc/fstabuntuk merekam "UUID" baru untuk ESP (benar-benar nomor seri disk, untuk sistem file FAT). Anda dapat menggunakan blkiduntuk menemukan nomor seri yang baru.

Perhatikan bahwa beberapa alat partisi, seperti gdiskdan sgdisk, mungkin memerlukan boot ulang sebelum OS mengenali perubahan pada disk yang sedang digunakan. Dengan demikian, Anda harus menggunakan boot disk darurat, tanpa partisi yang terpasang pada disk target; atau gunakan alat seperti GParted untuk operasi penghapusan partisi dan pembuatan. (Mengubah GUID partisi tidak membuat perubahan yang memerlukan boot ulang.)

Prosedur ini menjalankan beberapa risiko kegagalan katastropik, terutama jika Anda ceroboh dengan file cadangan Anda. Juga, jika terjadi kesalahan, komputer Anda akan sementara tidak dapat di-boot. Memiliki salinan boot manager rEFInd saya di USB flash drive dapat membantu jika terjadi keadaan darurat seperti itu.

Metode # 2

Saya belum mencoba ini diskpart, jadi saya tidak tahu apa yang memicu peringatan itu; tapi itu mungkin atribut partisi (salah satu dari dua hal yang disebut "bendera"). Sesuatu seperti "partisi sistem" mungkin masuk akal menyebabkan alat partisi menolak untuk menyentuh partisi. Anda dapat menggunakan partedatau GParted untuk mencari bendera ini; Namun, saya tidak yakin bahwa mereka akan menampilkan semua bendera. Jika partisi memiliki flag selain "boot" (dan "esp", dengan versi libparted yang lebih baru), Anda dapat mempertimbangkan untuk menghapus ekstra. Atau, Anda dapat menggunakan gdisk, yang akan menampilkan semua atribut:

  1. Ketik gdisk /dev/sda(atau apa pun ID disk) sebagai root.
  2. Ketik puntuk melihat tabel partisi.
  3. Ketik iuntuk melihat detail tentang partisi. Anda akan diminta menentukan nomor partisi. Beberapa baris dengan perincian tentang partisi akan muncul.
  4. Cari Attribute flagsgarisnya. Jika tidak ada bendera, garis ini akan menunjukkan nilai 0000000000000000. Jika demikian, Anda bisa berhenti gdiskdengan mengetik q. Jika itu menunjukkan atribut dan Anda ingin menghapusnya, lanjutkan ....
  5. Ketik xuntuk masuk ke menu ahli.
  6. Ketik auntuk memodifikasi atribut. Anda akan diminta untuk nomor partisi. Masukkan itu.
  7. Anda akan diperlihatkan daftar enam atribut yang diketahui dan ringkasan yang ditetapkan. Ketikkan jumlah bidang yang ingin Anda ubah.
  8. Langkah sebelumnya akan mengulangi secara otomatis sampai Anda menekan tombol Enter tanpa nilai sebagai sinyal untuk berhenti mengedit.
  9. Ketik wuntuk keluar dan menyimpan perubahan Anda. (Jika Anda merasa telah mengacaukan, ketik quntuk keluar tanpa menyimpan perubahan Anda; tahan gdiskperubahan dalam memori sampai Anda memintanya untuk menuliskannya ke disk w, sehingga Anda dapat dengan mudah membatalkan sebagian besar tindakan.)
  10. Untuk keamanan, reboot.
  11. Cadangkan ESP Anda.
  12. Gunakan GParted untuk mengubah ukuran ESP Anda.

Pendekatan ini kurang berhasil daripada yang pertama, baik karena masalahnya mungkin bukan atribut partisi dan karena, dalam pengalaman saya, GParted sering merusak sistem file FAT ketika mengubah ukurannya. Poin terakhir itu seharusnya tidak diremehkan; jika GParted mengacaukan segalanya, Anda harus mengembalikan semuanya dari cadangan Anda, dan prosedur ini akan berakhir dengan aspek terburuk dari kedua metode. OTOH, jika GParted berhasil mengubah ukuran ESP Anda, metode ini mungkin sedikit lebih sederhana dan kurang berisiko daripada yang sebelumnya.

Komentar Lebih Lanjut

Tentu saja, jika Anda belum menginstal Windows, ada cara yang jauh lebih mudah untuk melakukan apa yang Anda inginkan: Buat ESP Anda secara manual sebelum Anda menginstal Windows. Anda kemudian dapat membuat ESP sebesar yang Anda suka.

Pendekatan lain adalah menggunakan sesuatu selain systemd-boot. Boot manager itu sangat terbatas oleh ketidakmampuannya untuk meluncurkan kernel atau boot loader dari apa pun kecuali partisi tempat penyimpanannya. (Setidaknya, ini terbatas dengan cara ini terakhir kali saya melihatnya; dan sifat pertanyaan Anda menyiratkan bahwa Anda yakin itu masih sangat terbatas. Namun, saya belum meninjaunya baru-baru ini.) Baik GRUB maupun penerima tidak menderita dari batasan ini dan karena itu akan lebih mudah untuk diatur - atau setidaknya, tidak ada yang akan memerlukan jenis manipulasi partisi yang diperlukan oleh systemd-boot.


Hai Rod! Seperti biasa, balasan yang benar-benar tepat. Terima kasih :) Jadi ... karena saya berhasil dengan GParted pada akhirnya (dan tidak membagikan pengalaman Anda dengan masalah pengubahan ukuran GParted), saya tidak repot-repot mengerjakan langkah demi langkah salah satu metode Anda. Namun saya yakin salah satu cara Anda akan berhasil, maka saya akan menandai pos. (Saya harus mengatakan bahwa saya tidak setuju dengan gagasan Anda tentang systemd-boot. Saya menghargai kesederhanaan dan stabilitasnya.)
henry
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.