Kokeilin tehdä usb-kiintolevyltä boottaavan Ubuntun ja tällaisella asennuksella pääsin haluamaani lopputulokseen.
Huom. Ubuntu tunnisti minulla kaikki (myös sisäisen) kiintolevyt tyypillä sda/sdb jne. Jos pidät sisäisen levyn paikoillaan, usb-levystä tulee todennäköisesti sdb ja se pitää ottaa huomioon konfiguroinnissa. Asennusvaiheessa kannattanee varmuuden vuoksi ottaa sisäinen levy vielä irti.
1. Asenna Ubuntu ulkoiselle levylle normaalisti live-CD:n asennusohjelmalla joko käynnistyslataimen kanssa tai ilman, tämä ohje ylikirjoittaa käynnistyslataimen joka tapauksessa. Osioinnissa ei pitäisi olla merkitystä käyttääkö koko levyä vai tekeekö oman ext3-osion ja swapin Ubuntulle entisten rinnalle.
2. Avaa live-CD:n pääte tai terminal. Uudelleenkäynnistystä ei tarvita.
3. Asenna tarvittava paketti, nettiyhteyttä ei tarvitse:
sudo apt-get install syslinux
4. Ubuntu mounttaa kaikki ulkoiset levyt automaattisesti. Jos ei, niin mounttaa Ubuntu-osio tiedostonhallinnasta.
Tarkistetaan Ubuntu-osion liitospiste:
mount
Tulosteessa lukee esim.
"/dev/sda1 on /media/disk"
Tässä tapauksessa Ubuntu olisi ulkoisen levyn ekalla osiolla (kun sisäinen kiintolevy irti) ja liitetty kohtaan /media/disk. Käytän näitä esimerkissä.
Tarkista vielä, että olet asentamassa oikealle osiolle:
ls /media/disk
Tulosteessa pitäisi näkyä Ubuntun perustiedostoja ja -hakemistoja.
Asenna extlinuxin tiedostot:
sudo extlinux --install /media/disk
Asenna MBR:ään tuleva osa, kohde on siis sda, eikä sda1:
sudo dd if=/usr/lib/syslinux/mbr.bin of=/dev/sda
Nyt latain on asennettu, tarvitaan vielä käynnistystiedot tekstitiedostoon:
sudo gedit /media/disk/extlinux.conf
Extlinux.conf näyttää esimerkiksi tältä:
default ubuntu
label ubuntu
kernel vmlinuz
append root=/dev/sdb1 ro initrd=initrd.img
Rootiksi määritellään siis osio, jolla Ubuntu on. Tässä täytyy huomata, että jos koneessa on sisäinen levy paikoillaan, ulkoisesta tulee sdb, eikä sda. Toisin sanoen kun laitat tähän kohtaan sdb1, ulkoiselta levyltä boottaus toimii vasta kun sisäinen levy on asennettu takaisin paikoilleen. Sda1:llä taas usb-boottaus toimii vain jos sisäinen levy on irti. Jos jostakin syystä sisäinen levy tunnistuisi hda:ksi, niin silloin ulkoinen levy olisi sda.
Extlinux.confin säätämisen jälkeen tallenna se, sammuta kone, asenna mahdollisesti irrottamasi sisäinen kiintolevy, käynnistä, tarkista biosin asetukset usb-boottauksen osalta, boottaa ja toivo parasta.
Toivottavasti on jollekin apua...
EDIT: Jos päätät asentaa sisäinen kiintolevy paikoillaan, niin valitse asennuksen lisäasetuksista, että alkulatainta EI asenneta.