Ateszka Szívesen. A Linux alapú rendszerekben az a csodálatos, ha megérted az elméletet, akkor nem vagy egyetlen alkalmazásnak kiszolgáltatva, ugyanazt a feladatot sokféleképpen meg lehet oldani.
Belakott rendszer külső meghajtóra másolása, hordozhatóvá tétele:
- Be kell bootoljon. Ehhez kell egy rendszerbetöltő és hogy az /etc/fstab-ban a külső lemez megfelelő értékei szerepeljenek.
- Kell nekünk az egész rendszer a feltelepített alkalmazásokkal.
- A felhasználó(k) könyvtárából csak a beállítóállományok szükségesek, az adatfájlok (többségének) elhagyásával a szükséges lemezméretet jelentősen csökkenthetjük.
A feltételek teljesítésével nem kell ilyen sorrendben haladni, a lényeg, hogy a végére mindhárom teljesüljön.
Ahhoz hogy a 2. és 3. pontot teljesítjük használhatjuk például a systemback.sh-t egy pont készítésére és aztán a pont tartalmát felmásoljuk a külső lemezre. Ennek előnye, hogy nem kell kézzel kiválogatnunk a felhasználó beállítóállományait, de ha amúgy nincs mentési pontunk, amit használnánk kiindulásként, akkor ennek elkészítése idő.
Nekem például olyan rendszerem van, melyen külön partíción van a rendszer (/) és a home (/home).
A systemback.sh-val másolt rendszerem cirka 24 GB lett és ha megnézzük a rendszerpartícióm is nagyjából ennyi.
Most egy másik módon is nekifogtam ennek a dolognak:
Mivel aktív rendszer csatolt partícióit nem lehet piszkálni kell hozzá egy telepítő (live rendszer) vagy egy másik telepített rendszer.
A 2. ponttal kezdtem:
Elindítottam a gépemen lévő másik rendszert és abban a GPartedet.
A külső lemezen létrehoztam egy új GPT partíciós táblát, azon
512 MB FAT32 partíciót. (sdd1)
Az összes többi helyet pedig (320 GB) ext4-re formáztam. (sdd2)
Átléptem a kiindulási lemezemre és azon a rendszerpartíciót kijelöltem másolásra, vissza a céllemezre és az sdd2-n a beillesztést választottam. Mindent felül ír az sdd2-n. OK.
Olyan 10 perc alatt megvolt a másolás még a tetű lassú külső HDD-mre is.
A 2. pont ezzel megvan.
A többit most fejből írom:
Jöjjön a 3. pont
Most már lehet indítani a kiindulási rendszert, azon a céllemez rendszerpartícióját már most érdemes felcsatolni a /mnt-be.
Ez most esetemben:
sudo mount /dev/sdd2 /mnt
(Hogy melyik lemezt, partíciót miként tartja számon a rendszer, azt a
sudo parted -l
kimenetében lehet megnézni. Nálad vélhetően nem d2 lenne a jó érték, mindig a konkrétat kell behelyettesíteni! Nálam most a lemez sdd, a FAT32 partíció sdd1, az Ext4 partíció sdd2, ezért én most ezekkel dolgozom.)
Mivel a home a kiindulási rendszeren külön partíción volt, viszont a célrendszeren nem lesz ilyen a célrendszeren a home könyvtár még üres.
Létrehozom benne a kiindulási rendszer felhasználónevével megegyező nevű könyvtárat:
sudo mkdir /mnt/home/$USER
Adok rá neki jogosultságot:
sudo chown -R $USER:$USER /mnt/home/$USER
Amennyiben szükséges, akkor célrendszer /home/felhasználó könyvtárában most már a kiindulási rendszer felhasználójával simán tudok létrehozni Letöltések, Dokumentumok, Zenék, Képek könyvtárakat illetve a kiindulási rendszer felhasználójának könyvtárából átmásolom ide (/mnt/home/felhasználó) a (szükséges) beállítóállományokat. Ezek általában rejtett állományok, pont van a nevük előtt, akkor látnak láthatóvá a fájlkezelőben, ha egy Ctrl+H-t nyomsz.
És átmásolom a szükségesnek ítélt adatfájlokat is.
Ez is kész.
Következzék az 1-es pont biztosítása.
Telepítsük fel a GRUB-ot a külső lemezre.
A külső lemez rendszerpartíciója már fel van csatolva az /mnt be.
Csatoljuk fel az EFI system-nek szánt partíciót is:
Most is sudo parted -l
kimenetéből puskázunk, az sdd1-nél a d1 helyére a saját értékeinket írjuk!)
sudo mount /dev/sdd1 /mnt/boot/efi
sudo mount -B /dev /mnt/dev
sudo mount -B /proc /mnt/proc
sudo mount -B /sys /mnt/sys
sudo chroot /mnt
Tegyük a GRUB-ot a külső lemezre (nálad vélhetően nem sdd!):
grub-install /dev/sdd
update-grub
exit
Ha nem volt hibaüzenet, akkor most már van rendszerbetöltőnk is.
Még egy fontos dolgunk van, az fstab fájl másolva lett, a tartalma a kiindulási rendszeré. Ha hibás az fstab tartalma, akkor a bootolás el fog akadni.
Meg kell néznünk, hogy az /mnt/etc/fstab fájlban milyen bejegyzések vannak, és azt átírni úgy, hogy a
sudo blkid
kimenetében szereplő UUID értékek szerepeljenek az EFI system és rendszerpartícióra vonatkozóan.
Ehhez valamilyen rendszergazdai joggal futó egyszerű szövegszerkesztő kell.
Minden olyan bejegyzést, ami olyan partícióra vagy fájlra mutat, ami a kiindulási rendszeren megvan, de a célrendszeren nem szerepel (home vagy adat illetve swap partíció,...) ki kell kommentelni (a sor elé egy # jelet kell tenni) vagy törölni, majd a fájt elmenteni.
Én ezen a ponton a gépet le szoktam állítani, így biztos, hogy minden felcsatolt partíció lecsatolásra kerül.
Lehet megkísérelni a bootolást egy másik gépen a külső lemezre költöztetett hordozható rendszerünkről. :-)
Ha sikerül, akkor a rendszered a megszokott módon használhatod. Megvan minden alkalmazásod, a háttérképed, paneled, szóval az összes beállításod például a böngésződben is, ami kényelmes dolog tud lenni...