Boot dari USB menggunakan GRUB

48

Laptop teman saya mengalami kecelakaan mobil (dia baik-baik saja!). Namun laptop ini sangat tua dengan Acer Aspire 1520 drive CD-rom rusak dan tidak ada floppy drive.

Saya membuatnya boot USB sebelum melihatnya dan menemukan bahwa BIOS-nya tidak bisa boot dari USB. Satu- satunya yang saya miliki adalah konsol GRUB tetapi dia ingin menginstal XP (pada USB) dan menggunakannya hanya untuk Film.

Apakah mungkin menggunakan konsol GRUB untuk mendapatkan akses ke USB dan mulai menginstal windows? Ini tugas yang berat, tetapi saya pikir ini mungkin jalannya, atau mencoba menginstal melalui LAN yang saya pikir tidak akan tercapai.

Simon Sheehan
sumber
1
Saya akan mencoba untuk mendapatkan drive USB cd / dvd dan bekerja pada mendapatkan komputer untuk boot itu.
jmreicha
1
Posting ini menunjukkan perintah manual yang diperlukan - Anda hanya perlu mengetahui nomor drive, yang dapat diselesaikan dengan tab GRUB.
new123456

Jawaban:

39

Berikut adalah contoh cepat dari perintah grub yang mungkin hanya berfungsi, penjelasan dan peringatan di bawah ini.

grub2

Kemungkinan besar untuk pemasangan pasca-2010.

set root=(hd1,1)
chainloader +1
boot

grub

Kemungkinan besar untuk pemasangan pra-2005.

root (hd1,0)
chainloader +1
boot

Untuk periode 2005-2010, tebakan Anda sebagus milik saya, tetapi jika Anda menggunakan perintah untuk versi yang salah, Anda hanya mendapatkan kesalahan sintaks yang tidak berbahaya pada perintah pertama.

Memilih root yang tepat

Saat startup, grub akan menyelidiki perangkat Anda dan memberikan nomornya. Semua perangkat yang dipartisi (hard disk dan flash drive) juga akan memiliki nomor yang ditetapkan. Formatnya adalah (<deviceName>,<partitionIndex>). Di grub2, indeks partisi berubah, sehingga dua contoh di atas memiliki efek yang sama meskipun terlihat menggunakan akar yang berbeda.

Perangkat pertama Anda ( hd0) adalah grub perangkat mana saja yang baru saja memuatnya. Setelah itu, Anda biasanya dapat mengasumsikan bahwa semua perangkat internal akan datang sebelum perangkat eksternal Anda. Mereka kemungkinan besar akan dalam bentuk hddan angka.

Setelah koma adalah indeks partisi. Hard disk dan thumb drive hampir selalu dipartisi, jadi Anda harus memilih partisi yang tepat (dan kemungkinan besar saja). CD-ROM biasanya tidak dipartisi.

Dokumentasi lebih lanjut: http://www.gnu.org/software/grub/manual/html_node/Device-syntax.html

Saat memilih partisi root, Anda dapat menggunakan tombol Tab untuk menyelidiki nama perangkat dan indeks partisi. Cukup buka tanda kurung dan mulai menekan Tab untuk melihat daftar.

Ekevoo
sumber
5
Dimungkinkan juga untuk menggunakan set root=(hd1)(dll.) Untuk mem-boot dari seluruh perangkat, jika tidak dipartisi, misalnya drive USB yang dapat di-boot.
white_gecko
6
Sekadar menambah, Anda bisa lakukan lsuntuk melihat daftar perangkat yang terhubung.
AntouanK
2
Saya tahu stack exchange discourages terima kasih komentar, tetapi jawaban ini benar-benar layak untuk itu. Anda menghemat banyak waktu.
John Militer
tidak dapat menemukan perintahroot
Penggemar nomor satu Bjorks
13

Untuk menguraikan komentar new123456:

Perangkat USB harus dideteksi sebagai perangkat penyimpanan massal dan diperlakukan seperti hard drive. Jadi, di grub, ketik root (hd(jangan tekan Enter) dan kemudian tekan tab sekali atau dua kali untuk melihat hard drive apa yang bisa dilihat Grub. Perangkat USB, jika dikenali, mungkin akan hd1. Jangan tentukan nomor partisi; cukup tambahkan tanda kurung penutup. Jadi intinya adalah root (hd1). Kemudian setelah itu, ketikkan yang berikut ini:

chainloader +1
boot

Jika itu tidak berhasil, ubah root (hd1)ke root (hd1,0)dan coba lagi.

Jika karena alasan tertentu Grub tidak dapat melihat drive USB, coba mencolokkan USB CDROM dan mem-boot-nya.

Jonathan
sumber
7

The chainloader +1hal mungkin tidak bekerja jika BIOS tidak baik di boot dari kunci USB (yang adalah mengapa saya ingin menggunakan Grub lagian).

Dalam hal ini, ada beberapa keajaiban mendalam di https://help.ubuntu.com/community/Grub2/ISOBoot yang berfungsi, setidaknya untuk Ubuntu. Bit krusial adalah mucking dengan perintah grub yang mengidentifikasi vmlinuzfile, melewati iso-scan/filenameargumen. Entah bagaimana, itu membantunya mengetahui bahwa seluruh sistem file boot macet di file ISO. Saya tidak tahu bagaimana cara kerjanya, tetapi itu berhasil. Ini adalah (kurang-lebih) perintah Grub 2 yang saya gunakan:

loopback loop (fd0,msdos1)/path/to/iso/file
linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=/path/to/iso/file noprompt noeject
initrd (loop)/casper/initrd.lz
boot

The /path/to/iso/fileharus path ke file ISO pada tombol USB. The (fd0,msdos1)mengidentifikasi kunci USB. Penyelesaian tab sangat membantu di loopbacktelepon, dan tidak berguna untuk argumen vmlinuz.

Paul Stansifer
sumber
Saya pikir saya bermaksud menjawab ini dalam menanggapi pertanyaan yang berbeda. Saya berharap saya tahu yang mana!
Paul Stansifer
Dalam kasus efi/ uefimode boot, ini grub2perintah menghasilkan kesalahan: error: can't find command 'linux'. Ubah perintah ke linuxefidan initrdefi.
Samveen
Saya suka konsepnya di sini. Boot ISO yang ada di flash drive. Ini akan mengubah flash drive menjadi Boot CD buffet. Dalam contoh yang lebih fungsional di mana Anda bisa boot CD, bukan Flash, Anda bisa membakar CD yang memilih di antara mereka jika ada masalah boot USB, kan?
BenPen
2

Ini tidak akan sangat membantu dalam kasus teman Anda (kecuali ada cara saya tidak tahu untuk mendapatkan plop pada perangkat di tempat pertama - mungkin usb cd-rom, atau usb floppy drive?), Tetapi ini adalah aplikasi kecil yang hebat, yang telah membantu saya memasang beberapa mesin lama untuk mem-boot off usbs ketika bios mereka tidak mengizinkannya.

Silakan Boot Manager

pseudo sue
sumber
0

Anda tidak dapat mem-boot dari usb di grub jika bios tidak mengizinkannya sendiri. Saya pernah harus mengatur semacam partisi pemulihan pada hard disk yang berisi konten setup win7, instal grub, dan kemudian menggunakannya untuk mem-boot partisi setup win7 untuk menginstalnya ke seluruh hard drive.

Hanetzer
sumber
Anda mungkin harus menggunakan perintah "insmod usbms" dan kemudian "insmod ehci" atau "insmod uhci" sebelum perintah yang disebutkan.
Claude Frantz