Bootolható pendrive készítése Debian rendszeren

botond küldte be 2018. 11. 06., k – 02:45 időpontban

Tartalom

 

Bevezető

Korábban már volt róla szó hogyan készíthetünk rendszerindító pendrive-ot Windows rendszereken, most pedig Debian operációs rendszeren fogunk bootolható pendrive-ot összehozni.

Ebben a leírásban kétféle módszert is bemutatok ennek elvégzéséhez: Először az UNetbootin program segítségével, majd utána a dd paranccsal fogjuk elkészíteni a rendszerindítót.

 

 

Rendszerindító képfájl kiírása az UNetbootin programmal

Rendszerindító (másnéven boot) pendrive elkészítéséhez először keresnünk kell egy erre a célra készített programot, amiben grafikus felületen kényelmesen beállítgathatunk mindent. Windows alatt ott van a Rufus, de most Linux rendszeren kell megoldanunk a feladatot, ez esetben konkrétan Debianon.

Erre kiváló választás az UNetbootin program, ami több platformhoz is elkészült, így rögtön kéznél van Linuxhoz is.

Program beszerzése

Ezt a programot nem kell telepíteni, hanem elég csak letölteni és futtatni.
Töltsük le a gyártó honlapjáról az architektúránknak megfelelő változatot.

 

A programnak van néhány függősége is, így indítás előtt telepítsük őket (root-ként) az apt-get paranccsal:

apt-get install mtools

A további függőségekről itt tájékozódhatunk, de nekem elég volt csak az iménti mtools csomagot telepíteni.

Ezután a letöltött program könyvtárába lépve tegyük futtathatóvá a fájlt a chmod parancs segítségével:

chmod +x unetbootin-linux64-661.bin

Futtatás

Terminálból futtathatjuk is a fájlt:

./unetbootin-linux64-661.bin

Idítás után dob egy hibaüzenetet:

Unable to load library icui18n "Cannot load library icui18n: (icui18n: nem nyitható meg a megosztott objektumfájl: Nincs ilyen fájl vagy könyvtár)"

A hiányolt ICU rendszert (a kérdéses csomagok hiánya miatt) nem telepítettem fel, de ettől még elindul a program és használható:

UNetbootin - Főablak

Itt két lehetőségünk van.

Ha a felső opciót választjuk, ekkor a legördülőből kiválaszthatunk egy Linux disztribúciót, majd mellette annak verzióját. Így a program letölti nekünk a kiválasztott disztribúciót. Rengeteg fajta közül lehet választani, ezért Linux telepítő készítéséhez ez a kényelmesebb megoldás.

Ennél az opciónál a kiválasztott telepítőcsomagok az UNetbootin összeállításait tartalmazzák, így például a rendszer indításakor nem a GRUB fogad bennünket, hanem az UNetbootin saját betöltője.

Ha pedig az alsó opciót választjuk (Disk Image), akkor kiírhatjuk a saját ISO fájlunkat is, tehát ebben az esetben Windows vagy bármi egyéb operációs rendszer is telepíthető.

 

Itt megjegyzendő, hogy (valószínűleg) a program hibás indulása miatt a lemezképfájl betallózása csak a /root könyvtárstruktúra alatt működik, tehát csak ebből a könyvtárból enged fájlt betallózni.

 

UNetbootin - ISO fájl kiválasztása

Ennek megfelelően én bemásoltam egy frissen letöltött Debian netinstallt a /root könyvtárba, ami kisméretű, így a mostani bemutatóhoz tökéletes.

Innentől pedig már mindkét opciónál ugyanúgy folytatódik:

Válasszuk ki a meghajtót a legördülőből:

UNetbootin - Meghajtó kiválasztása

Majd OK gomb.

Ezután ha a pendrive-on volt valami korábban, ami ütközhet a most felkerülő tartalommal, akkor dob még egy ablakot:

UNetbootin - Fájlok felülírásának jóváhagyása

Itt nyomjuk meg a Yes to All gombot.

Fájlok másolása

Ekkor felmásolja az ISO-ban lévő fájlokat és a rendszerbetöltőt:

UNetbootin - Fájlok másolása

És végül értesít a művelet elkészüléséről, valamint instrukciókkal lát el a pendrive indításával kapcsolatban:

UNetbootin - Telepítés elkészült

Ezzel el is készült a rendszerindító pendrive-unk.

Annyit érdemes még tudni ezzel kapcsolatban, hogy itt nem történik formázás, tehát a pendrive korábbi tartalma is megmarad, kivéve az ütköző fájlok, könyvtárak. Így tehát ha egy alkönyvtárban rajta hagytunk más anyagokat a meghajtón, akkor azok érintetlenül maradnak.

 

 

Rendszerindító képfájl kiírása a dd paranccsal

Ha valami oknál fogva nem indulna el az UNetbootin vagy nem működne megfelelően, akkor még mindig maradt egy másik gyors lehetőségünk, hogy bootolható pendrive-ot készítsünk.

Ebben a példában a dd Linux parancsot fogjuk használni erre a célra. Itt megjegyzendő, hogy ezzel a másolási módszerrel csak az a isohybrid módon elkészített ISO fájlok fognak tudni bebootolni. Ilyenek például a Debian oldalairól letöltött telepítő képfájlok is, de más telepítőket is készíthettek el ilyen módszerrel. A nem isohybrid ISO fájlokat az isohybrid parancs segítségével lehet átalakítani, hogy a dd paranccsal kiírva is indítható legyen.

A fenti UNetbootin példában használt Debian 9.5 netinstallt fogom itt is használni ennek bemutatására.

Pendrive eszköz felderítése

Először tegyünk be egy pendrive-ot a gépbe, majd root-ként futtassuk az fdisk parancsot a pendrive blokk eszközének kiderítésére:

fdisk -l

Persze az UNetbootin példából már ismerhetjük a pendrive-unk eszközének elérését, de itt most attól függetlenül is meg kell tudnunk állapítani azt.

A parancs kilistázza a gépben lévő összes merevlemezt és USB eszközt, és azoknak a logikai egységeit.

A kimenetben ilyesmit kell keresnünk, ami egy pendrive-ra utal:

Disk /dev/sdc: 7,5 GiB, 8011120640 bytes, 15646720 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x2f8116b4

Device     Boot Start      End  Sectors  Size Id Type
/dev/sdc1  *     2048 15646719 15644672  7,5G  c W95 FAT32 (LBA)

Egy 8 GB-os (7,5 GiB) tároló a /dev/sdc eszközön, amiben van egy FAT32-es partíció a /dev/sdc1 -en.

A dd parancs futtatása

Itt most nekünk a fő eszközre lesz szükségünk. Lépjünk be a felírni kívánt ISO fájlunk könyvtárába, majd root-ként futtassuk a következőt:

dd if=debian-9.5.0-amd64-netinst.iso of=/dev/sdc bs=4M; sync
  • Az if paraméteben adjuk meg az iso fájlunkat
  • az of paraméterben pedig a pendrive-unk blokk eszközének nevét, tehát nem a benne lévő partícióét.
    Itt nagyon ügyeljünk, hogy ne legyen elírás, mert egy hibásan megadott másik tároló esetén az kerül felülírásra!
  • A bs paraméterben megadjuk, hogy 4 MB-os darabokban történjen a másolás, és ne az alapértelmezett 512 byte méretben, így sokkal gyorsabban másol.
  • a sync kapcsoló pedig gondoskodik arról, hogy az írási művelet szinkron történjen, tehát ne a háttérben. Így addig nem kapjuk vissza a prompt-unkat, amíg valóban nem történik meg a másolás.

Az iménti parancs kimenete pedig a következő:

2+1 beolvasott rekord
72+1 kiírt rekord
305135616 bájt (305 MB, 291 MiB) másolva, 0,906688 s, 337 MB/s

Ezzel készen is van a bootolásra kész pendrive.

 

Konklúzió

Kipróbáltunk kétféle módszert is, hogy elkészíthessünk egy rendszerindító pendrive-ot Debian rendszeren. Mindkettő megoldás hasznos. Az UNetbootin jól jön, amikor van grafikus felületünk, így csak pár kattintás és elkészül a másolás. A dd parancs pedig akkor segít, ha például nincs grafikus felületünk és hamar szükségünk van egy rendszerindítóra.