Transzfer linux rendszer egy másik merevlemezre átméretezni partíciót

Egyszer régen egy galaxisban messze távolban kellett mozgatni a Linux rendszert egyik merevlemezről a másikra, és használja proprietarschinoy horror ne akart. Googling keresést és más keresőmotorok találtam tűnhet vicces, hogy magad megoldás, amit a linux admin, majd rám ez jó, hogy segítsen.

Általában - ez az. Beat láb, darabokra vágva. Eleget!

Az első dolog, amit tennie kell -, hogy partíció egy új merevlemez kívánságainak megfelelően és lehetőleg kiküszöböljük a korábbi elrendezés hibák (ha ez nem tetszik a forrás lemez).

Nézzük a konkrét példát a rendszer. Megyek, hogy mozog a rendszert a HDD 80 GB HDD: 20 GB.

Saját meghajtó 80 GB kötet jelölése a következő:

/ Dev / hda1 - / boot (250 Mb)
/ Dev / hda2 - csere (1Gb)
/ Dev / hda3 - kiterjesztett (20GB) (tartalmazza a / dev / hda5, / dev / hda6, / dev / hda7, / dev / hda8)
/ Dev / hda5 - / (5Gb)
/ Dev / hda6 - / tmp (512Mb)
/ Dev / hda7 - / usr (10 Gb)
/ Dev / hda8 - / var (5Gb)
/ Dev / hda4 - / home (54HU)

/ Home nagyon sok információt csomagolt, mert a klónozás azt nem tartalmazza.

Elhelyezés egy jumper, amilyennek lennie kell, én csatlakozni egy új HDD-t a rendszer. Elvette a védjegy MFB
Akkor jelölje meg bármilyen kényelmes eszköz. Azt találták, hogy könnyebben kezelhető GParted - így vizuálisan tiszta, és akkor azonnal látható, hogy mennyi a tényleges által elfoglalt hely adatait egy adott partíciót, amely segít-e vagy sem, hogy fordítson annyira (vagy kevés) helyet.

Azt címkézzük meg az új lemezt (/ dev / hdb) az alábbiak szerint:

/ Dev / hdb1 - / boot (250 Mb)
/ Dev / hdb2 - csere (1Gb)
/ Dev / hdb3 - kiterjesztett (14GB) (tartalmaz / dev / hdb5, / dev / hdb6, / dev / hdb7, / dev / hdb8)
/ Dev / hdb5 - / (1 Gb)
/ Dev / hdb6 - / tmp (512Mb)
/ Dev / hdb7 - / var (5Gb)
/ Dev / hdb8 - / usr (7HU)
/ Dev / hdb4 - / home (4GB)

A következő lépés az, hogy csatlakoztassuk az összes partíciót létre az új HDD-t a meglévő rendszert.
Erre a célra a meglévő rendszer hoztam létre egy könyvtárat / backup. amely létrehozott egy alkönyvtár / boot, / root, / var, / usr (/ tmp - nem szükséges), összhangban szakaszokat, amit megosztott az új HDD.
Ezután végezzen önálló mount:

sudo mount / dev / hdb1 / backup / boot
sudo mount / dev / hdb5 / backup / root
sudo mount / dev / hdb7 / backup / var
sudo mount / dev / hdb8 / backup / usr

Így egyre a mókára, de nem a legegyszerűbb hely, hogy másolja az adatokat.
Ellentétben a Windows Linux lehetővé teszi, hogy másolja magát teljesen. De emlékeznünk kell arra egy fontos dolog - a rendszer az attribútumok a könyvtárak és fájlok, valamint a szimbolikus linkeket és hardlink. Tehát meg kell másolni a módját, hogy az összes ezeket a linkeket nem vesznek el. Ennek az eljárásnak megfelelően egy nagy szakértő legalkalmasabb tar paranccsal.
Az ötlet az, hogy nem fogunk biztonsági másolatot a fájlokat a lemezen, és viszi őket az úgynevezett „cső” vagy a „folyam” a vevőnél HDD.

Egyszerűsítése érdekében a migrációs folyamat, írtam egy forgatókönyvet backup.sh:

#! / Bin / sh
cd /
tar cf - dev initrd.img opt srv bin cdrom stb initrd lib sbin sys vmlinuz | (Cd / backup / root tar -xvpf -)
cd / boot
tar cf - * | (Cd / backup / boot tar -xvpf -)
cd / var
tar cf - * | (Cd / backup / var tar -xvpf -)
cd / usr
tar cf - * (cd / backup / usr tar -xvpf -)

kis elmagyarázni, hogy mi történik:

«Cd /»
- megy a gyökér

«Tar-cf - dev initrd.img opt srv bin cdrom stb initrd lib sbin sys | (Cd / backup / root tar -xvpf -)
„- Ivan Zatar felsorolt ​​könyvtárak és fájlok és azok átadása az átvevő RAstar Ivan HDD.

Tudja meg, mi a könyvtárak és fájlok szükségesek át egy pillanat alatt. Egyszerűen fuss «ls /» miáltal egy lista a rendszer kezdve a /.
Az én esetemben ez:

ls /
hát indító dev otthon initrd.img média opt gyökér srv tmp var
bin cdrom stb initrd lib mnt proc sbin sys usr vmlinuz

Mindebből a „jó” meg kell határoznia, milyen lesz a /.
Tehát, amint arra néhány partíciót a / boot, / var, / tmp, / usr és / home. kiderül, hogy vannak ebben a lépésben, hogy kihagyja. Ezért itt is csak dev initrd.img opt srv var
bin cdrom stb initrd lib sbin sys vmlinuz

És a többi egyszerűbb:
cd / boot
- megy a meglévő / boot

tar cf - * | (Cd / backup / boot tar -xvpf -)
át a teljes tartalmát a / boot / backup / boot

Tehát backup.sh futtatni a szkriptet, és menj pihenni egy kicsit. Vettem az összes mintegy 10 perc alatt.

Most egy másik fontos pont, amit kezdetben nem figyel, amiért fizetett túl sok időt és fejfájást.

Nem elég, hogy egyszerűen másolja az adatokat a partíció / var, / tmp, / usr.
Miután az összes átadási eljárások, létre kell hoznunk a könyvtárat a fogadó lemez, a csatolási pontot a nagyon válaszfalak (és az összes csatolási pontot, amelyhez kizárni az átutalás - / home, / media, / tmp, / var, / mnt / proc, / usr) KÖTELEZŐ az azonos tulajdonságok! Azaz:

sudo mkdir / backup / root / home
sudo mkdir / backup / root / media
sudo mkdir / backup / root / tmp
sudo mkdir / backup / root / var
sudo mkdir / backup / root / mnt
sudo mkdir / backup / root / proc
sudo mkdir / backup / root / usr

amelyek meghatározzák az attribútumokat a könyvtárban megtalálható beírásával ls -la / a forrás rendszerben. De amellett, hogy a / tmp mindenhol tulajdonában kell lenniük root felhasználó és csoport rendszergazdai jog 766. A / tmp kell rendbe 777.

Most, hogy javítsa a fogadó HDD fstab. Szükség esetén (ha hirtelen egy egészen más partíciót a merevlemezen). És csak azért, hogy javítsa a menu.lst GRUB bootloader.

Az Ubuntu fstab, menu.lst, hogy az összes lemez által regisztrált UUID ahelyett, hogy csak a / dev / hda.
megtanulják, mi a lemezen UUID a parancsot: ls -l / dev / disk / by-uuid. A megállapításokat kell valami hasonló:

Most kell csak kitalálni «11815c66-5ae7-4497-9039-51de9adef664» pl. Ez UUID partíció csere (esetemben).

menu.lst a törvény a következő sorokat:

kernel root = UUID /vmlinuz-2.6.22-14-generic = d4404ea9-0a8e-4a4c-b72d-10a5edd697be ro quiet splash locale

kernel root = UUID /vmlinuz-2.6.22-14-generic = d4404ea9-0a8e-4a4c-b72d-10a5edd697be ro egyetlen


Ne felejtsük el azt a tényt, hogy bár a rendszer és másolja a merevlemezre, de még mindig nem lehet betölteni, mert nincs egy boot betöltő.
Ez egyszerű:
Vegye ki a telepítő CD-t és a csomagtartó UBUNTU.
megy a konzol ctrl + f1

sudo su
lárva
találni / grub / stage1
root (hd0,0) itt írunk valamit, ami kiadta az előző parancsot
setup (hd0) itt írunk ugyanaz, de mielőtt az első vessző.
kilép

Minden - otsedinyaem lemezt a rendszer esetén ellenőrizze. Van minden működik.

Mivel nem bírtam / home - a rendszer megesküdött az a tény, hogy van egy felhasználó home mappát, és én nem. Beléptem egy barbár módon - userdel% username%, majd adduser% username%.

Csak nem számít. És a lustaság meghatározott attribútumokat. És így a rendszer mindent megtett értem.

Ui Ne szid sok esetleg elavult módszer, de abban az időben dolgozott, és jól működött! (Ez a pillanat lehet számítani a kernel a cikkben említett).

Transzfer linux rendszer egy másik merevlemezre átméretezni partíciót

Telepítése Window7 (64bit) egy GPT lemez alaplapok az EFI, nincs USB / DVD
Azonnal tisztázni kell, hogy mi fog beszélni a telepítés Win közelében linux disztró. Azaz, a számítógép kell grub-efi. Beépítés csak a 64 bites Windows rendszereken. Mivel EFI ellátás, így van legalább egy FAT32 partíciót a lemezen. Tehát van szükségünk, hogy hozzon létre egy partíciót, ahol kivonat képét Win.

Transzfer linux rendszer egy másik merevlemezre átméretezni partíciót

Transzfer linux rendszer egy másik merevlemezre átméretezni partíciót

Transzfer linux rendszer egy másik merevlemezre átméretezni partíciót

Beépített egyedi firmware OpenWRT
Nem is olyan régen, én zavarba a show az útválasztó D-Link DIR-320 OpenVPN szerver. De telepítése után OpenWRT firmware azt találtuk, hogy a 4 megabájt flash meghajtó router nem elég hely a merevlemezen OpenVPN. A kiutat a helyzet kezdett építeni a saját verziója a firmware az Image Generator, ami az ugyanazon

Transzfer linux rendszer egy másik merevlemezre átméretezni partíciót