Install Windows 7 Melalui Linux
Bukan. Artikel ini bukan akan mengupas bagaimana membuat installer Windows melalui GNU/Linux. Melainkan akan menerangkan bagaimana memasang Windows 7 (juga 8, 8.1 dan 10) langsung dari dalam lingkungan sistem operasi GNU/Linux, khususnya Debian Sid.
Sebenarnya telah lama saya menggunakan cara ini. Pernah membuat thread-nya di Kaskus, juga artikel di beberapa blog lama (yang kini lumayan saya abaikan). Sekarang saya akan menulis ulang artikel-artikel tersebut disini, karena kebetulan belum lama ini mesti memasang Windows di ThinkPad T420 dan lumayan kerepotan ketika menggunakan easy2boot
dan WinNTSetup3
.
Here’s my story…
ThinkPad T420 ini akan digunakan bersama. Jadi saya tidak bisa memaksakan single boot Linux karena dipastikan banyak yang akan mengeluh. Meski sebenarnya jika dipasang Windows pun pasti tetap akan ada yang complain :D. HDD telah diganti SSD dan diformat menjadi 4 partisi; 2 NTFS dan 2 ext4.
Siapkan Prasyarat
- Berkas ISO Microsoft Windows 7.
Sayangnya, setelah rilis Windows 10 kita tidak lagi bisa mengunduh berkas ISO Microsoft Windows 7 secara resmi dari Digital River. So, now you’re on your own… Install paket
wimtools
.
wimtools
adalah perkakas untuk memanipulasi berkasWIM
(Windows Imaging) yang biasa digunakan dalam installer Windows.aptitude install wimtools
Siapkan Partisi Windows
Gunakan gparted
atau partitioner favorit Anda lainnya untuk membuat partisi khusus bagi Windows. Ingat, backup!. Bermain dengan partisi adalah urusan serius. Selalu cadangkan data penting sebelum menyunting partisi. Berikut urutan yang mesti dilakukan:
- Siapkan (buat) partisi
- Format partisi baru ini ke NTFS
- Normalnya, installasi Windows menyaratkan dipasang pada partisi aktif agar Windows dapat memasang bootloader/boot manager dengan benar. Jadi, beri partisi NTFS ini tanda (flag)
boot
.
Sebenarnya dalam kasus kita tidak akan berpengaruh banyak, karena kita akan menggunakan GRUB2 sebagai bootloader.
Install Windows
Buat titik kait untuk bekerja sementara dengan ISO dan partisi Windows.
mkdir /tmp/{iso,hdd}
Kaitkan berkas ISO Windows 7.
mount -o loop windows_iso /tmp/iso
Terdapat banyak edisi Windows dalam sebuah berkas ISO, ketahui index edisi Windows dengan perintah:
wimlib-imagex info /tmp/iso/sources/install.wim
Misal jika kita hendak memasang edisi Ultimate yang ada di indeks ke-5 ke partisi
/dev/sda2
:wimlib-imagex apply /tmp/iso/sources/install.wim 5 /dev/sda2
Kaitkan partisi Windows untuk mempersiapkan berkas yang dibutuhkan partisi tersebut agar bisa boot.
mount /dev/sda2 /tmp/hdd mkdir /tmp/hdd/sources cp -r /tmp/hdd/Windows/Boot/PCAT /tmp/hdd/Boot cp /tmp/hdd/Boot/bootmgr /tmp/hdd
Sayangnya belum ada aplikasi Linux yang mampu menyunting berkas
BCD
, karenanya, agar partisi Windows ini mampu booting sementara kita pakaiBCD
dan berkas recovery (winRE.wim
) dari berkas ISO agar nanti partisi boot ke Windows Recovery Environment dan kita memperbaikiBCD
dari sana.cp /tmp/hdd/Windows/Boot/DVD/PCAT/{boot.sdi,BCD} /tmp/hdd/Boot cp /tmp/hdd/Windows/System32/Recovery/winRE.wim /tmp/hdd/sources/boot.wim
Langkah Tambahan, unattendend install
Anda bisa melewati langkah ini dan langsung menuju langkah Finishing jika hendak memasang Windows secara normal.
Sesuai namanya, unattendend install berarti proses pemasangan Windows yang tidak memerlukan campur tangan manusia. Proses pemasangan berjalan otomatis dengan cara kita menyediakan berkas jawaban bagi installer sehingga tidak diperlukan memasukkan jawaban secara manual.
Rujuk laman technet.microsoft.com untuk memahami bagaimana membuat berkas jawaban secara mandiri, atau bisa juga menggunakan layanan dari windowsafg.no-ip.org.
Salin berkas jawaban yang telah dibuat:
cp Unattend.xml /tmp/hdd/Windows/System32/sysprep
Berkas Unattend.xml
dapat berisi data yang penting, karenanya baik kita buat script untuk menghapusnya jika pemasangan Windows telah usai.
Buat sebuah script, misalnya SetupComplete.cmd
untuk menghaapus berkas yang tidak lagi diperlukan, bahkan untuk menerapkan registry tweaking.
mkdir /tmp/hdd/Windows/Setup/Scripts
cp SetupComplete.cmd /tmp/hdd/Windows/Setup/Scripts
Finishing
Proses pemasangan Windows telah selesai. Lepaskan partisi dan berkas ISO Windows dari kaitannya.
Masukkan partisi Windows 7 ke dalam GRUB:
sudo update-grub
Reboot
Hidupkan ulang komputer.
Komputer akan restart beberapa kali:
- restart pertama komputer akan boot ke Windows Recovery Environment dan akan mencoba memperbaiki
BCD
. - boot kedua Windows akan mulai installasi tahap pertama
- boot ketiga Windows akan mulai installasi tahap akhir
Catatan
GNU/Linux tidak menulis data secara rapat berimpitan (contiguous) sebagaimana Windows. Karenanya setelah Anda mengikuti tutorial ini dan berhasil masuk Windows, langkah pertama yang harus dilakukan adalah defrag Windows.
Lampiran
- Contoh berkas Unattend.xml
- Contoh berkas SetupComplete.cmd