Beberapa latar belakang:
- Berasal dari latar belakang Windows sebagian besar (meskipun saya akrab dengan Ubuntu, dll.) Dan menggunakan mesin Windows 7 untuk menyelesaikan tugas ini
- Telah berhasil menginstal GRUB ke MBR drive USB (drive FAT32 8 GB):
- Telah membuat struktur dasar pada drive: / boot / grub, / boot / img, / boot / kernel
Pertanyaan:
Saya punya beberapa pertanyaan dasar, pemula, tetapi pertanyaan yang saya punya kesulitan menemukan jawaban melalui Google / StackExchange, dll.
- Saya mengerti bahwa folder / boot / img / [SystemName] akan menyimpan gambar untuk sistem tertentu, yang mungkin menggunakan berbagai versi (atau yang sama) dari kernel linux yang disimpan di direktori / boot / kernel (setidaknya, begitulah cara saya ingin mengaturnya)
- Namun, sebagian besar sistem ini hanya memiliki kernel di direktori mereka yang disebut "linux" (tidak menyebutkan versi). Saya bisa mencari di kernel mana semua ini digunakan, tapi apa tempat pertama untuk mendapatkan kernel untuk menyalin ke / boot / kernel?
- Setelah saya mendapatkan kernel, saya membayangkan sisanya sebagian besar menyalin perangkat ke / boot / img / dan membuat entri yang tepat di menu.lst, benar? Saya bisa melakukannya berdasarkan sistem dengan sistem begitu saya bisa meminta kernel untuk merujuk.
Tujuan Keseluruhan:
Saya mencoba membuat 8GB usb flash drive yang memungkinkan saya untuk mem-boot beberapa OS dari menu boot GRUB. Untuk menambah atau mengurangi OS, saya hanya ingin menyalin file yang sesuai ke / boot / img / [SystemName] dan folder / boot / kernel yang sesuai dan kemudian edit file menu.lst. Jadi, langkah pertama ini adalah tentang menemukan kernel yang dibagikan oleh banyak OS ini, karena saya berharap dapat mengurangi duplikasi.
kernel
usb
dual-boot
boot-loader
grub-legacy
SeanKilleen
sumber
sumber
Jawaban:
Apa yang ingin Anda capai adalah memperluas teknologi boot :) Namun saya pikir itu mungkin, meskipun saya tidak cukup berpengetahuan untuk memberikan walk-through yang lengkap.
Pertama, seperti yang dikatakan sebelumnya, distro memiliki persyaratan yang sangat berbeda. Kedua, hal yang baik di sisi lain, Anda juga dapat menemukan distro yang membutuhkan persyaratan minimal.
Saya akan merekomendasikan untuk menggunakan GRUB4DOS sebagai bootloader. Lihat tautan ini bagaimana menggunakannya dengan USB (karena memiliki perintah find --set root -, yang penting jika Anda memiliki perangkat seluler seperti USB).
Maka Anda harus memutuskan berapa banyak partisi yang akan Anda gunakan. Standar "Pemasangan penuh" selalu dalam satu partisi. Jadi, jika Anda memiliki stik USB 8 GB dan mengambil partisi 4 GB (yang memungkinkan pemasangan minimal), Anda akan dibatasi untuk 2 "Instalasi Penuh" berbeda dari distro utama seperti Debian atau Fedora.
Namun, ada beberapa distribusi Linux kecil dan khusus. Misalnya "Puppy Linux" sangat kecil dan memiliki mode "Instalasi Frugal" khusus. Muncul dalam banyak rasa (misalnya ada MacPup dengan mencoba untuk mengimplementasikan Apple seperti Desktop, atau Fatdog64 yang merupakan Linux 64-bit).
Dalam mode "Instalasi Frugal" ini hanya menggunakan tepat 1 direktori dan dapat diinstal secara paralel ke Linux atau Windows yang ada di harddisk (atau USB). Saya yakin ada distribusi lain yang mendukung mode serupa.
Karena Puppy Linux kecil (<150 MB) dan dengan asumsi Anda menyimpan file cadangan kecil untuk setiap instalasi (512 MB), Anda dapat dengan mudah menginstal seperti 10 Sistem Operasi yang berbeda pada stik USB. Bahkan ada Linux yang lebih kecil (Slitaz, Tinycore), yang bisa Anda gunakan.
Sebagai contoh, saya lampirkan file menu.lst (GRUB4DOS) dari PC-install saya saat ini, 8 entri pertama semuanya berbeda instalasi Puppy Linux di hd0,2 (yaitu partisi ke-3 pada hardisk ke-1), lalu ada minimal Instalasi Debian di partisi ekstra kecil dan juga Windows-XP asli.
Menu.lst pada USB Anda bisa terlihat mirip, perintah GRUB4DOS
find --set-root --ignore-floppies /lupq511/initrd.gz
(mencari file ini di semua drive) bisa sangat berguna jika Anda menggunakan USB, jadi Anda tidak harus menggunakan entri tetap untuk drive Anda.Dengan informasi di atas, beberapa komentar tentang pertanyaan awal Anda:
T: * Saya mengerti bahwa folder / boot / img / [SystemName] akan menyimpan gambar untuk sistem tertentu, yang dapat menggunakan berbagai versi (atau yang sama) dari kernel Linux yang disimpan di direktori / boot / kernel (setidaknya, itulah cara saya ingin mengaturnya)
A: Saya tidak yakin apakah itu akan berhasil, karena sebagian besar distribusi utama mengharapkan hak eksklusif dari partisi mereka dan menginstal struktur direktori tertentu untuk file mereka. Menurut pendapat saya lebih baik menghormati pengaturan default dan memberikan apa yang diharapkan oleh distribusi, yaitu beberapa membutuhkan partisi eksklusif, beberapa akan senang hanya dengan direktori pada partisi bersama. Saya tidak mengatakan itu tidak mungkin untuk menginstal beberapa OS untuk 1 partisi dengan cara yang tidak default, tetapi ini memohon masalah dan menurut saya tidak praktis untuk pendatang baru Linux. Solusi yang mungkin saya sebutkan di bagian bawah posting saya ("Wubi-like" menginstal).
T: * Namun, sebagian besar sistem ini hanya memiliki kernel di direktori mereka yang disebut "linux" (tidak menyebutkan versi). Saya dapat mencari di kernel mana semua ini digunakan, tetapi apa tempat terbaik untuk mendapatkan kernel untuk disalin ke / boot / kernel?
A: Saya pikir kernel harus pergi tepat di sana di mana distribusi biasanya memilikinya. Tidak perlu menyimpannya di folder / boot / kernel yang terpisah, dan saya juga tidak akan merekomendasikan untuk mencoba membagikannya di antara distribusi. Ruang penyimpanan minimal untuk kernel (seperti 2-3 MB). Sebenarnya ada banyak versi dan sub-versi dan kadang-kadang bahkan ada tambalan khusus yang diterapkan pada kernel distribusi. Untuk plugin di kernel yang berbeda / belum diuji adalah percobaan yang tidak diperlukan.
T: * Setelah saya mendapatkan kernel, saya membayangkan sisanya sebagian besar menyalin perangkat ke / boot / img / dan membuat entri yang tepat di menu.lst, benar? Saya bisa melakukannya berdasarkan sistem dengan sistem begitu saya bisa meminta kernel untuk merujuk.
J: Seperti disebutkan sebelumnya, lebih baik buat partisi terpisah untuk distribusi yang membutuhkannya dan campur dalam distribusi yang tidak begitu serakah di folder mereka sendiri. Perlakukan kernel, initrd dan seluruh distro sebagai satu kesatuan.
Satu ide terakhir. Jika Anda tidak ingin menggunakan partisi yang berbeda, Anda dapat mencoba sesuatu seperti "WUBI" menginstal untuk distro menuntut instalasi penuh ke partisi sendiri. Ini berarti bahwa Anda membuat file besar dengan filesystem ext2 / ext3 sendiri di USB, kemudian mount sebagai "drive" dan instal OS ke dalamnya. (Saya menyebutnya WUBI, karena ini adalah aplikasi yang paling dikenal).
Berikut ini adalah entri menu Grub4dos.lst untuk mem-boot "Wubi install".
Dari sini .
Anda lihat, ada 2 perintah "set root", yang kedua setelah "root.disk" yang berisi Linux, dipasang sebagai loop0.
Saya harap saya bisa memberikan beberapa ide, meskipun tidak lengkap.
sumber
Inilah dua panduan:
Saya pikir keduanya menggunakan partisi yang terpisah untuk setiap kernel.
Entri dalam " /boot/grub/menu.lst " adalah seperti ini:
sumber
Itu benar-benar tergantung dari apa distro yang Anda taruh di sana. Beberapa dari mereka melakukan beberapa hal jahat di initramfs sehingga semakin sulit. Beberapa distro live mencari label, beberapa mencari uuid. Anda tidak dapat menyediakannya.
Solusinya tidak mudah, Anda harus membangun ramdisks baru yang disesuaikan untuk distro langsung Anda.
saya harap saya tidak salah: D
sumber
Anda tentu membutuhkan semacam ruang pengguna untuk digunakan dengan masing-masing kernel ini. (Program, konfigurasi, pekerjaan.) Secara tradisional, Anda akan menggunakan setidaknya satu partisi untuk setiap OS yang terpisah, dan partisi GRUB itu sendiri akan dipasang sebagai / boot (jadi Anda tidak akan, sebenarnya, memiliki boot sebagai subdirektori dari ini partisi; itu akan menjadi direktori root, dengan grub / sebagai subdirektori.)
sumber