Banyak orang menyukai Linux tetapi masih membutuhkan Windows untuk aplikasi tertentu, dan dual boot menyelesaikan dilema itu: dua sistem operasi berbagi satu disk, dipilih setiap kali komputer menyala. Kabar baiknya, Windows dan Linux modern sama-sama hidup damai di atas UEFI, jadi tidak ada lagi perang bootloader yang dulu menakutkan. Kunci keberhasilannya ada tiga: ruang kosong yang disiapkan dari sisi Windows, mode boot yang konsisten, dan bootloader GRUB yang mengenali kedua sistem. Pada Chapter ini kita susun ketiganya dengan tetap menjaga partisi Windows utuh.
Menyiapkan Windows Sebelum Berbagi Disk #
Dua fitur Windows wajib ditangani sebelum Linux ikut tinggal di disk yang sama. Pertama, fast startup: Windows tidak benar-benar mati saat dimatikan, melainkan menyimpan state kernel ke berkas hiberfil.sys seolah berhenti hibernate. Akibatnya partisi NTFS dianggap masih terkunci, dan Linux akan menolak menulisnya — mount menjadi baca-saja atau gagal total. Matikan lewat Control Panel → Power Options → Choose what the power buttons do → hapus centang Turn on fast startup; sebagai kerja darurat, perintah shutdown /s /t 0 melakukan shutdown sungguhan.
Kedua, BitLocker: bila enkripsi ini aktif, penyusutan partisi atau perubahan urutan boot bisa memicu Windows meminta recovery key. Simpan dulu recovery key ke akun Microsoft sebelum menyentuh partisi apa pun — ringkasan resminya ada di https://learn.microsoft.com/windows/security/information-protection/bitlocker/bitlocker-overview . Setelah keduanya beres, lakukan cadangan seperti pada Chapter Persiapan Instalasi.
Menyusutkan Partisi Windows dengan Aman #
Ruang untuk Linux paling aman disiapkan dari dalam Windows sendiri, karena Windows tahu berkas mana yang boleh dipindah. Buka Disk Management (diskmgmt.msc), klik kanan partisi C:, pilih Shrink Volume, lalu masukkan jumlah ruang yang dilepas — 50 GB sudah cukup lega untuk Linux desktop, tetapi sisakan pula ruang kosong yang cukup di sisi Windows. Shrink dari installer Linux sering gagal karena berkas sistem seperti pagefile dan USN journal tidak bisa dipindah dari luar.
Setelah shrink, ruang kosong itu tidak langsung terlihat di Linux. Boot ke live session, lalu periksa struktur disk dengan lsblk -f; berikut contoh tampilannya pada komputer dengan disk NVMe berisi Windows:
NAME FSTYPE LABEL SIZE FSAVAIL FSUSE% MOUNTPOINTS
nvme0n1 476.9G
├─nvme0n1p1 vfat ESP 100M
├─nvme0n1p2 ntfs Windows 226.9G
└─nvme0n1p3 ntfs Data 199.9GPartisi nvme0n1p1 berformat vfat adalah EFI System Partition milik Windows, nvme0n1p2 sistem Windows itu sendiri, dan nvme0n1p3 partisi data. Ruang kosong hasil shrink sengaja tidak tampil sebagai baris — ruang kosong bukan partisi — dan baru akan muncul sebagai free space di partitioner installer; pada contoh di atas sekitar 50 GB tidak tercantum di mana pun.
Memasang Linux pada Ruang Kosong #
Jalankan installer seperti pada Chapter Instalasi Linux di Komputer, lalu berhenti lebih lama di layar pemilihan disk. Kadang installer menawarkan Install Ubuntu alongside Windows Boot Manager yang otomatis memakai ruang kosong; pilihan ini nyaman, tetapi paling terkontrol adalah partisi manual (Something else pada Ubuntu, Manual pada Debian). Klik ruang bebas, lalu buat dua partisi dari sana: root ext4 bermount / dan swap bila diperlukan.
Untuk partisi EFI, kita tidak perlu membuat yang baru — cukup pakai milik Windows: pilih nvme0n1p1, isi titik mount /boot/efi, dan biarkan kolom format kosong. UEFI dirancang untuk menampung banyak bootloader dalam satu ESP, sehingga Windows dan Linux bisa berbagi partisi itu tanpa saling menimpa.
Setelah partisi beres, sisa alur instalasi berjalan persis seperti biasa: akun user, zona waktu, salin berkas, lalu reboot.
Bootloader GRUB dan Windows Boot Manager #
Pada sistem UEFI, setiap sistem operasi mendaftarkan entri boot tersendiri di memori firmware: Windows mendaftarkan Windows Boot Manager, sedangkan installer Linux mendaftarkan GRUB. Installer biasanya juga menempatkan GRUB sebagai entri pertama, sehingga menu GRUB-lah yang menyapa setiap boot — menampilkan Ubuntu di atas dan, bila terdeteksi, entri Windows di bawahnya. Deteksi ini dikerjakan os-prober:
sudo os-prober
sudo update-grubPerintah pertama memindai seluruh disk untuk mencari sistem operasi lain, lalu yang kedua mengganti berkas konfigurasi GRUB di /boot/grub/grub.cfg dengan versi termutakhir yang memuat entri hasil pemindaian. Untuk sekadar melihat entri apa saja yang sudah terdaftar, satu baris grep pada berkas itu cukup:
mkdir -p konfigurasi-grub
printf 'menuentry "Ubuntu"\nmenuentry "Windows Boot Manager (di /dev/nvme0n1p1)"\n' > konfigurasi-grub/grub.cfg
grep menuentry konfigurasi-grub/grub.cfgOutput yang Dihasilkan:
menuentry "Ubuntu"
menuentry "Windows Boot Manager (di /dev/nvme0n1p1)"Mari kita telaah baris-baris di atas:
- Baris 1 dan 2: membuat folder latihan dan berkas
grub.cfgmini berisi dua entri, sebagai pengganti berkas asli yang panjangnya ratusan baris. - Baris 3 (
grep menuentry ...): menyaring baris yang diawalimenuentry— cara cepat membaca daftar sistem yang GRUB tawarkan saat boot. Pada sistem sungguhan, berkasnya berada di/boot/grub/grub.cfgdan dibaca tanpa perlu disalin.
Pemindaian ulang seperti di atas perlu dijalankan setiap kali Windows menghilang dari menu GRUB — biasanya setelah pembaruan besar Windows yang menimpa urutan boot. Bila komputer malah langsung masuk Windows tanpa menyapa GRUB, tekan tombol boot menu firmware (F12), pilih entri ubuntu, lalu jalankan sudo update-grub dari dalam Linux. Konfigurasi GRUB yang lebih dalam kita bahas pada Chapter Bootloader dan GRUB di Section System Administration.
Dual boot memberi dua dunia dalam satu mesin, tetapi tetap menyentuh partisi sungguhan. Bila kita ingin ruang berlatih yang sama sekali tidak menyentuh disk, ada satu cara lagi: memasang seluruh komputer Linux di dalam sebuah berkas — materi Chapter Virtual Machine.