Apakah mungkin untuk boot dari ISO melalui jaringan, dan bagaimana caranya?

31

Saya memiliki mesin dengan ISO bootable yang tersimpan di dalamnya, dan saya memiliki mesin kosong lain, yang ingin saya gunakan untuk menginstal ISO. Keduanya di LAN yang sama (terpasang pada saklar yang sama). Bagaimana cara saya mem-boot mesin kosong dari ISO yang disimpan di komputer utama saya?

George Kontridze
sumber
jika Anda memiliki langkah-langkah tutorial @ George, mungkin Anda bisa membagikannya di sini tautannya ... karena saya memiliki kasus serupa untuk menginstal ISO Windows 8 ke komputer kosong yang tidak memiliki DVDRom yang terpasang padanya sebagai gantinya koneksi LAN saja. : D
gumuruh

Jawaban:

11

Saya pikir Anda ingin cara pxe boot dari gambar ISO. Saya mencari sedikit dan menemukan artikel ini . Saya percaya metode itu harus bekerja untuk image ISO bootable yang mungkin Anda miliki. Ini adalah artikel serupa lainnya .

Akhirnya, tampak bahwa artikel ini membahas cara melakukan ini dari server PXE (Pra-boot eXecution Environment) yang Anda jalankan dari Windows.

James T Snell
sumber
@datatoo - sama-sama, ini mementingkan diri sendiri - saya sudah bertanya-tanya tentang ini sebelumnya.
James T Snell
@Salah satu manfaat besar untuk menjawab pertanyaan adalah proses penelitian. Anda cenderung belajar hal-hal, dan itu bagus.
KCotreau
Apakah teknik ini bekerja untuk ISO yang dapat di-boot? Yaitu ISO windows? Atau apakah mereka hanya berfungsi untuk distribusi linux?
AaronLS
@ AaronLS - Saya tidak tahu, tapi saya berharap ini berfungsi untuk semua OS yang berinteraksi dengan BIOS. Saya kurang yakin tentang yang EFI, tapi saya bisa membayangkan yang EFI umumnya bekerja lebih baik untuk hal ini. Semoga seseorang benar-benar mencobanya dan berkomentar!
James T Snell
4

Ya, sangat mungkin. Jenis sistem yang Anda bisa boot tergantung pada bagaimana sistem itu bekerja.

Biasanya, Anda akan menemukan bahwa sistem yang sangat sederhana (seperti DOS atau Win98) dan sistem yang sangat kompleks (seperti distro Linux modern) mudah dibooting melalui jaringan.

Cara untuk mencapai ini pada dua jenis sistem sangat berbeda.

Mari kita lihat kedua cara secara lebih rinci. Saya berasumsi Anda sudah memiliki pengaturan server boot PXE ; jika tidak, silakan dan lakukan, itu cukup mudah.

Saya juga mengasumsikan dnsmasqpengaturan pada server Linux dengan tftproot dalam /var/lib/tftpboot, tetapi Anda harus dapat menyesuaikan instruksi dengan pengaturan lainnya.

Untuk sistem yang sederhana

Untuk sistem yang sederhana, Anda cukup memuat gambar (ISO) ke dalam RAM, dan menipu sistem agar yakin itu adalah unit yang sebenarnya. Ini dilakukan dengan sedikit bantuan dari BIOS dan modul perangkat lunak yang disebut memdisk .

Sistem yang ingin Anda muat melalui jaringan adalah freedos:

# /var/lib/tftpboot/pxelinux.cfg/default
UI vesamenu.c32

PROMPT 0
TIMEOUT 0

MENU DEFAULT freedos

LABEL freedos
MENU LABEL FreeDOS
KERNEL /syslinux/memdisk
INITRD /freedos.iso iso

Cukup banyak. Beberapa baris pertama adalah menu boilerplate; bit-bit penting adalah empat baris terakhir: memuat memdisk dengan ISO yang diberikan.

Untuk sistem yang kompleks

Sistem modern dengan hal-hal mewah seperti manajemen memori yang baik dan deteksi perangkat keras yang tepat mengabaikan apa pun yang dikatakan BIOS.

Ini membuat memdiskpendekatan yang digunakan di atas tidak berguna, karena jika Anda memuat ISO dengan cara itu, begitu kernel dibaca dari ISO dan dimuat ke dalam memori (ini dilakukan oleh bootloader di ISO; bootloader memperhatikan BIOS) , data ISO akan hilang.

Apa yang kamu lakukan? Yah, sebenarnya Anda tidak memuat ISO dari jaringan, tetapi sebaliknya katakan pada sistem bahwa ia dapat mengakses file yang diperlukan dari sana.

Untuk sistem Linux, ekstrak konten ISO di suatu tempat di tftproot dan muat kernel dan initrd secara langsung, lalu serahkan kepada mereka untuk menemukan sistem file root dan pasang.

Berikut ini contoh menggunakan CD Penyelamatan Sistem yang luar biasa . Saya benar-benar mengekstraksi seluruh ISO ke root server TFTP, karena cocok dengan struktur direktori saya, jadi kernelnya masuk /syslinux.

# /var/lib/tftpboot/pxelinux.cfg/default
UI vesamenu.c32

PROMPT 0
TIMEOUT 0

MENU DEFAULT sysrescd64

LABEL sysrescd64
MENU LABEL 1) SysResCD 4.2.0 (x64)
KERNEL /syslinux/rescue64
APPEND setkmap=us nomodeset netboot=nbd://pxe:sysrcd.dat
INITRD /syslinux/initram.igz

Bit yang paling penting di sini adalah APPENDgaris. Lihat netboot=di bagian akhir? Begitulah cara OS mengetahui di mana root filesystem-nya. Sintaksnya adalah <protocol>://<server>:<path>.

Saya telah dengan mudah menetapkan nama DNS pxeuntuk server saya. Jika Anda tidak memiliki itu, Anda akan menggunakan alamat IP untuk server.

Juga, sysresccd adalah salah satu yang termudah karena menggunakan gambar squashfs untuk sistem file root-nya, yang dapat dengan mudah diunduh dan dimuat ke RAM dengan metode apa pun. Di sini saya menggunakan nbd; Anda juga dapat menggunakan tftp, nfs dan http .

Untuk distro lain, seperti Ubuntu, saya pikir Anda hanya dapat menggunakan nfs.

Untuk sistem Windows, ini sedikit lebih rumit untuk dilakukan . Garis besarnya adalah:

  • Memiliki penginstalan Windows 7 pada folder bersama di server
  • Memiliki lingkungan Windows PE penuh di server di root TFTP Anda
  • Mintalah mesin klien memuat WinPE melalui jaringan dan tekan F12untuk mendapatkan prompt perintah
  • Petakan folder bersama dengan instalasi Windows 7 ke huruf drive
  • Mulai instalasi dari folder yang dipetakan

Saya belum pernah mencoba ini, dan sepertinya itu tidak berhasil untuk beberapa orang. Untuk versi NT yang lebih tua dari Vista saya pikir itu bahkan tidak mungkin. Untuk Windows pra-NT (95, 98, ME, dll) Anda dapat menggunakan pendekatan memdisk, tetapi mem-boot itu tidak baik untuk kesehatan Anda :-p

GnP
sumber
3

The Ultimate Deployment Appliance menawarkan apa yang Anda butuhkan. Situs web mereka menjelaskan fungsinya; itu diformat ulang di sini untuk kenyamanan:


Apakah Alat Penerapan Utama?

  • Instalasi OS tanpa pengawasan (Windows, Linux, ESX, Solaris) melalui pengaturan jaringan dalam hitungan menit!
  • Publikasikan alat pemulihan / pemeliharaan sistem favorit Anda melalui jaringan!
  • Booting PXE, Layanan Instalasi Jarak Jauh, Kickstart, Jumpstart, Autoyast di dalam kotak!

Kapan Anda akan menggunakan ini?

  • Ketika Anda mencoba untuk menginstal sistem yang tidak memiliki drive CDROM, tetapi memang memiliki kartu jaringan (hari ini laptop ultra-tipis dan semacamnya tidak memiliki drive optik)
  • Ketika Anda harus menginstal sistem operasi pada berbagai perangkat keras.
  • Ketika Anda harus menginstal sistem dan ingin semuanya berjalan otomatis dan dapat direproduksi.
  • Ketika Anda pergi ke rumah teman Anda untuk memperbaiki komputernya, Anda ingin dipersiapkan. Alih-alih menghapus semua hal yang tidak diinginkan Anda mungkin juga mulai segar. Bawa sistem Anda sendiri (laptop?), Kaitkan ke sistem yang berantakan dengan kabel silang dan mulai instal ulang sistem dari awal sepenuhnya tanpa pengawasan. Kepala untuk lemari es ...
  • Ketika Anda perlu melakukan pemeliharaan pada sistem Anda tanpa perlu membawa setumpuk live CD.
  • Ketika Anda ingin melakukan ini tanpa membayar banyak uang untuk produk komersial.

Bagaimana cara kerjanya?

  • Pemasangan Tanpa Pengawasan Alat memasang file iso dengan distribusi sistem operasi favorit Anda dan mengimpor file boot yang diperlukan (jaringan). Ini membuat file konfigurasi default untuk instalasi otomatis Anda dan mulai meng-hosting file distribusi sistem operasi untuk boot jaringan.
  • Penerbitan System Tool, Live CD, dan alat-alat lainnya diimpor seluruhnya ke alat Ultimate Deployment dan diterbitkan untuk melakukan booting melalui jaringan melalui PXE.

UDA memiliki saluran YouTube , di mana Anda dapat menemukan video mereka menginstal Windows 7 sebagai contoh dari pengaturan dalam UDA ke Windows yang sudah diinstal sepenuhnya.

JavaRocky
sumber