GNU/Linux >> Belajar Linux >  >> Debian

Debian – Bagaimana Melakukannya Sebelum Dual-boot Windows 7 Dan Debian Di Efi?

Saya akan membeli motherboard Asus dengan firmware EFI dan ingin mempersiapkan diri untuk menginstal Windows dan Debian setelah perangkat keras tiba. Saya berharap seseorang yang telah menempuh jalan ini dapat memberi saya beberapa petunjuk.

Persiapan apa yang harus saya lakukan sebelum mencoba menginstal Windows 7 dan Debian pada sistem baru berbasis UEFI?

Jawaban yang Diterima:

EDIT: Ketika saya menulis jawaban ini, sangat sedikit distribusi yang dikirimkan dengan kernel yang dikonfigurasi EFI_STUB sehingga seseorang harus membuat yang khusus. Saat ini sebagian besar distribusi mengirimkan kernel yang dikonfigurasi dengan benar dan build kustom tidak diperlukan lagi. Dalam hal ini bagian “Siapkan partisi Anda” dan “Menyiapkan sesuatu” yang menarik, "Persyaratan" dan "Mengkompilasi kernel" dapat dilewati.

Saya tidak tahu bagaimana Windows menangani UEFI, tetapi dari sisi Debian ini cukup
mudah.

Siapkan partisi Anda

Gunakan skema partisi GPT, bukan MBR.

Untuk mem-boot dari partisi GPT dengan UEFI, diperlukan partisi boot khusus,
disebut PARTISI SISTEM EFI (ESP). Ini tidak wajib, tetapi cara yang paling
kompatibel adalah dengan menggunakan partisi FAT32. Ukuran 200 MiB seharusnya cukup
untuk sebagian besar kasus.

Untuk mendaftarkan partisi sebagai ESP, itu harus ditandai dengan boot flag.
Berbeda dengan skema MBR, flag boot hanya digunakan untuk menunjukkan ESP,
bukan partisi tempat booting.

UEFI menggunakan struktur direktori EFI<vendor><application>.efi untuk menyimpan
aplikasi UEFI. Pemisah direktori dilambangkan dengan garis miring terbalik , bahkan di
Linux. bisa jadi nama distribusi, nilai sebenarnya tidak relevan
dengan UEFI.

Aplikasi dapat berupa utilitas sistem seperti pemeriksa memori atau shell UEFI. Ini
juga bisa menjadi pemuat OS atau sistem operasi itu sendiri. Aplikasi ini
harus terdaftar di UEFI agar dapat diluncurkan saat boot.

Persyaratan

Versi kernel Linux>=3.3 dapat dimuat langsung oleh UEFI. Kernel dapat bertindak sebagai pemuatnya sendiri. Ini disebut EFISTUB . Konfigurasi kernel berikut diperlukan.

CONFIG_EFI=y
CONFIG_EFI_PARTITION=y
CONFIG_EFI_STUB=y
CONFIG_RELOCATABLE=y
CONFIG_FB_EFI=y
CONFIG_FRAMEBUFFER_CONSOLE=y
CONFIG_EFI_VARS=m

Kernel dengan konfigurasi ini saat ini belum berada di stabil Debian. Anda dapat
memanggang kernel Anda sendiri atau menggunakan kernel dari pohon eksperimental sehingga Anda dapat melewati paragraf berikutnya.

Mengkompilasi kernel

(mungkin tidak diperlukan lagi, lihat edit)

Jika Anda memutuskan untuk mengkompilasi kernel, berikut adalah petunjuk singkat bagaimana melakukannya. Jika Anda mengalami masalah, ada banyak informasi yang tersedia tentang cara mengompilasi kernel.

Mendapatkan sumbernya

git clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git

Lihat satu versi tertentu

git checkout v3.6

Mengonfigurasi kernel

make menuconfig

Buat pengaturan yang diperlukan pada sistem Anda atau biarkan apa adanya
jika Anda tidak memiliki apa pun untuk disesuaikan. Ini menulis konfigurasi
kernel ke file .config .

Pastikan pengaturan dari paragraf sebelumnya diatur. Juga
masuk akal untuk memilih CONFIG_INPUT_EVBUG=n . Jika tidak, log Anda
akan diisi dengan GiB sampah.

Terkait:Debian – Hapus pengguna dan kata sandi saat login di Debian 9 Stretch?

Membangun kernel

INSTALL_MOD_STRIP=1 make-kpkg --uc --us binary-arch

Paket-paket dibuat di direktori induk.

Menginstal kernel

dpkg -i linux-image-3.5.0_Custom.deb linux-headers-3.5.0_Custom.deb

Membangun initramfs

mkinitramfs -o /boot/initrd.img-3.6.0-amd64 3.6.0

3.6.0 adalah versi kernel. Ini default ke kernel yang sedang berjalan,
yang bukan merupakan pilihan yang baik, karena Anda masih menjalankan kernel
yang lama.

Menyiapkan semuanya

Untuk dapat mem-boot kernel Linux, kernel harus disalin ke ESP bersama
dengan initramfs. Mengingat ESP dipasang di /boot/efi

/boot/efi/EFI/debian/vmlinuz-3.6.0.efi
/boot/efi/EFI/debian/initrd.img-3.6.0

CATATAN: Untuk memastikan kompatibilitas dengan sebagian besar sistem, ekstensi efi harus
ditambahkan ke kernel.

Sekarang kernel dapat didaftarkan di UEFI. Kami menggunakan alat efibootmgr untuk
itu.

echo "root=UUID=3a4287b6-b3a7-4721-da38-acc38a928278 ro rootfstype=ext4 add_efi_memmap initrd=\EFI\debian\initrd.img-3.6.0" |
  iconv -f ascii -t ucs2 |
  efibootmgr 
    --create 
    --gpt 
    --disk /dev/sda 
    --part 4 
    --label "Debian Linux kernel 3.6.0" 
    --loader "\EFI\debian\vmlinuz-3.6.0" 
    --write-signature 
    --append-binary-args -

Argumen --disk adalah perangkat tempat kernel berada, bukan ESP. --part adalah nomor partisi tempat kernel berada. --label adalah entri
di menu boot UEFI.

Untuk melihat daftar entri yang tersedia, cukup luncurkan efibootmgr tanpa
argumen. Sintaks untuk menghapus entri tertentu

efibootmgr -b entry (hex) -B

misalnya:

efibootmgr -b 001a -B

Instruksi ini tidak menangani kasus pembaruan kernel. Kernel dan initramfs tidak secara otomatis disalin ke ESP. Ini dapat dilakukan dengan menggunakan skrip pendek yang menyalin kernel dan initramfs ke ESP dan menjalankan efibootmgr . Skrip ini dapat ditempatkan di /etc/kernel/postinst.d untuk diluncurkan secara otomatis setelah kernel diperbarui.

Catatan: Manajer boot seperti GRUB tidak diperlukan, UEFI sendiri bertindak sebagai manajer boot.

Itu saja yang Anda butuhkan dari sisi Linux, saya tidak tahu apa yang diperlukan untuk menambahkan
Windows.


Debian
  1. Kernel kustom di Ubuntu/Debian – bagaimana, kapan dan mengapa

  2. Cara Menginstal dan Menggunakan Ansible di Debian 11

  3. Cara Menginstal Node.js dan npm di Debian 11

  1. Cara Menginstal Dan Menggunakan Backport Debian

  2. Cara Menginstal dan Mengonfigurasi Redis di Debian 9

  3. Cara Menginstal dan Mengamankan MariaDB di Debian 11

  1. Cara Menginstal dan Menggunakan FFmpeg di Debian 9

  2. Cara Menginstal dan Mengkonfigurasi Redmine di Debian 9

  3. Cara Menginstal dan Menggunakan FFmpeg di Debian 10