Portál AbcLinuxu, 1. května 2025 09:53
Také Vás již delší dobu láká možnost bootování z USB klíčenky, akorát jste se neodhodlali k tomu to vyzkoušet? Potom Vás třeba přesvědčí následující návod o tom, že na tom není nic složitého.
Je nutné mít počítač schopný bootovat z USB-HDD a v BIOSU zařadit USB-HDD do bootovací sekvence.
Dále budu předpokládat, že máte k dispozici iso obraz nějakého aktuálního SLAXe.
Také předpokládám, že v systému máte nainstalovaný GRUB.
Předpokládám, že po připojení USB flash disku se ten objeví v /dev/sda
, pokud je tomu jinak, mělo by stačit "%s/sda/SPRAVNEZARIZENI/g
".
Práva roota jsou bohužel pro tento postup nezbytná. Neboli byste měli alespoň trochu tušit, co který krok dělá, a u potenciálně nebezpečných kroků kontrolovat, jestli jsme (já, nebo vy) neudělali nějaký překlep.
Mezi jednotlivými sekcemi (nadpisy) je dobré vždy odpojit a připojit flasku (fyzicky, ne mount/umount ).
Je dobré udržovat na disku pořádek a proto dporučuji vytvořit si nějaký nový pracovní adresář a celý tento postup provádět v něm.
V tomto adresáři budeme potřebovat dva adresáře cdrom
a sda1
mkdir sda mkdir cdrom
Také pro jednoduchost budeme potřebovat link na ISO obraz SLAXe:
ln -s CESTA_K_ISO_OBRAZU slax.iso
Na flashce budeme potřebovat jeden ext2 oddíl, ideálně pokud to bude ten první.
Pokud nevíte jak na to, tak nejdřív přepište nulami celou flasku, čím získáte čisté pracovní místo. Pozor na překlepy.
dd if=/dev/zero of=/dev/sda
Dále pak vytvoříme partition tabulku fdiskem
fdisk /dev/sda Command (m for help): n e extended p primary partition (1-4) p Partition number (1-4): 1 First cylinder (1-1020, default 1): 1 Last cylinder or +size or +sizeM or +sizeK (12-1020, default 1020): Command (m for help): w
A vytvoříme ext2 filesystem
mke2fs /dev/sda1
Nejdříve připojíme flashku
mount /dev/sda1 sda1
a nakopírujeme potřebné soubory pro GRUB.
cp -a /boot/grub sda1/
V tuto chvíli je ten pravý okamžik pro editaci nastavení GRUBu, tedy spustěte svůj oblíbený editor a soubor sda1/grub/grub.conf
upravte, aby vypadal následovně:
# Sample boot menu configuration file for Slax on USB # Boot automatically after 30 secs. timeout 30 # By default, boot the first entry. default 0 # For booting Slax title Slax On USB root (hd0,0) kernel /boot/vmlinuz max_loop=255 init=linuxrc load_ramdisk=1 prompt_ramdisk=0 ramdisk_size=4444 root=/dev/ram0 rw initrd=/boot/initrd.gz
Nyní potřebujeme vytvořit soubor device-map
, který grubu při instalaci řekne, který disk odpovídá kterému zařízení
echo "(hd0) /dev/sda" >device-map
A konečně zapsat GRUB do MBR flashky
grub --device-map=device-map root (hd0,0) cat (hd0,0)/<TAB> <ESC>#kontrola spravnosti cile setup (hd0)
Před setup
je dobré se ujistit, jestli máme opravdu připojený ten správný oddíl tím, že si necháme vypsat obsah jeho kořenováho adresáře napsánímcat (hd0,0)/
a zmáčknutím klávesy TAB.
Přichází závěrečná fáze, tedy překopírování obsahu livecd na flashku.
mount /dev/sda1 sda1 mount -o loop slax.iso cdrom #slax.iso nahradit cestou k obrazu cd se slaxem cp -a cdrom/* sda1/ umount -d cdrom umount sda1
Obdobným postupem se dá docílit konfigurace, kdy máme flashku rozdělenou na dva oddíly -- první FAT, který je na data a druhý je ext2 se SLAXem. Při této konfiguraci je možné flasku používat jednoduše i klasicky na přenos dat mezi nejrůznějšími OS, které nepodporují ext2. Také by teoreticky to samé mělo fungovat na FAT místo ext2, ale pak je nutné dát pozor na to, že grub/menu.lst
již není symlink, ale kopie souboru.
Linuxlive občas nenajde SLAX na flashdisku, jelikož hledá dřív, než kernel uzná flashdisk za připravený k připojení, což je problém, který zatím nevím jak řešit nějak systematicky, napadá mě akorát upravit linuxlive, aby čekal déle, ale to není všeřešící řešení. Nevím, na čem to závisí, ale většinou stačí po neúspěšném pokusu restart a SLAX již naběhne.
#priprava prostredi mkdir sda mkdir cdrom #ZNULOVANI obsahu flasky -- neni nutne dd if=/dev/zero of=/dev/sda #udelani partition tabulky fdisk /dev/sda n p 1 1 w mke2fs /dev/sda1 #pripojeni usb a nakopirovani grubu mount /dev/sda1 sda1 cp -a /boot/grub sda1/ #nyni zeditovat sda1/grub/grub.conf umount sda1 #vytvoreni docasne device-map pro instalaci grubu echo "(hd0) /dev/sda" >device-map #instalace grubu na usb grub --device-map=device-map root (hd0,0) cat (hd0,0)/<TAB> #kontrola spravnosti cile setup (hd0) #nakopirovani slaxe na usb mount /dev/sda1 sda1 mount -o loop slax.iso cdrom #slax.iso nahradit cestou k obrazu cd se slaxem cp -a cdrom/* sda1/ umount -d cdrom umount sda1
A ještě ukázkový grub.conf:
# # Sample boot menu configuration file for Slax on USB # # Boot automatically after 30 secs. timeout 30 # By default, boot the first entry. default 0 # For booting Slax title Slax On USB root (hd0,0) kernel /boot/vmlinuz max_loop=255 init=linuxrc load_ramdisk=1 prompt_ramdisk=0 ramdisk_size=4444 root=/dev/ram0 rw initrd=/boot/initrd.gz
Tiskni
Sdílej:
Předpokládám, že po připojení USB flash disku se ten objeví v /dev/sda, pokud je tomu jinak, mělo by stačit "%s/sda/SPRAVNEZARIZENI/g".Mě se nějak usbčko přeplo do /dev/sdb a nejsem schopen ho dostat zpátky na sda. Díky za pomoc ...
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.