GNU/Linux >> Znalost Linux >  >> Debian

Debian/grub2:Přesouváte kořenový oddíl na nový disk?

Má někdo návrh, jak přesunout kořenový oddíl na nový disk a nastavit grub2, aby se na tomto disku spouštěl? Zdá se, že nemám štěstí při instruování grub-mkconfig, co chci udělat (např. chroot’int do mého nového kořenového adresáře jen zmate všechny skripty).

Pozadí Používám Debian Squeeze na bezhlavém NAS s nízkou spotřebou. Moje aktuální nastavení je / na sda0 a /boot na sde0 (CF karta):Potřeboval jsem samostatný /boot protože sd[a-d] je třeba provést zpožděné roztočení. Nyní jsem našel starý 2,5″ IDE disk, který lze použít jako / včetně /boot aby mi umožnil roztočit všechny velké disky.

Co jsem zkoušel V podstatě jsem šel

mount -o rw /dev/sdf5 /mnt/newroot
cp -ax / /mnt/newroot
cp -ax /boot /mnt/newroot/boot

Pak jsem to zkusil

chroot /mnt/newroot
update-grub

Ale to se nezdařilo, když se grub zeptal, zda byl připojen root.
Potom jsem se jen polovičatě pokusil nastavit /mnt/newroot/grub/grub.cfg k nalezení obrazu jádra na sdf5 , za kterým následuje grub-install --root-directory=/mnt/newroot /dev/sdf . Ale tohle mi právě vyneslo výzvu k záchraně grub, když jsem se pokusil zavést z sdf .

Můj plán zálohování je pouze přeinstalovat, takže bonusová otázka (u této otázky nejsou zaškrtnuty):Co musím udělat, abych zpřístupnil svou konfiguraci lvm2 a mdadm? Je to všechno uloženo v souborových systémech (a bude to automaticky objeveno), nebo si to musím vzít sám?

Řešení (díky Maciej Piechotkovi):Jak Maciej podotýká, musím mít správný chroot, aby všechny nástroje grub fungovaly. Pro informaci, takto jsem to udělal:

[email protected]:/mnt/newroot$ sudo cp -ax / /mnt/newroot
[email protected]:/mnt/newroot$ sudo cp -ax /boot /mnt/newroot

Všechny soubory jsou nyní zkopírovány (viz zde pro diskuzi o strategiích kopírování). Opravte nový etc/fstab ukázat na nový kořen:

[email protected]:/mnt/newroot$ diff -u etc/fstab.old  etc/fstab
    -UUID=399b6a6d-c067-4caf-bb3e-85317d66cf46 /     ext3 errors=remount-ro         0 1
    -UUID=b394b614-a977-4860-bbd5-7862d2b7e02a /boot ext3 defaults                  0 2
    +UUID=b9d62595-e95c-45b1-8a46-2c0b37fcf153 /     ext3 noatime,errors=remount-ro 0 1

Nakonec připojte dev ,sys a proc na nový kořenový adresář a chroot:

[email protected]:/mnt/newroot$ sudo mount -o bind /dev /mnt/newroot/dev
[email protected]:/mnt/newroot$ sudo mount -t proc none  /mnt/newroot/proc
[email protected]:/mnt/newroot$ sudo mount -t sysfs none /mnt/newroot/sys
[email protected]:/mnt/newroot$ sudo parted /dev/sdb set 5 boot on 
[email protected]:/mnt/newroot$ sudo chroot .

Nyní jsme chrootováni do budoucího kořene přesně tak, jak bude vypadat. Podle Macieje by mělo být v pořádku zavolat grub-install , ale provedl jsem update-grub nejprve se podívejte na vygenerovaný /boot/grub/grub.cfg před instalací bootloaderu. Nejsem si jistý, zda bude automaticky aktualizován?

[email protected]:/# update-grub
[email protected]:/# grub-install /dev/sdb

Přijatá odpověď:

Připojte základní souborové systémy a kopírujte/upravujte soubory během chrootování jako:

  • /dev (mount -o bind /dev/ /path/to/chroot/dev )
  • /proc (mount -t proc none /path/to/chroot/proc )
  • /sys (mount -t sysfs none /path/to/chroot/sys )

IIRC, který mi fungoval při instalaci Grub 2 v archu a mnohokrát na Gentoo. Poté po chrootu na /path/to/chroot příkaz byl jednoduše:

grub-install /dev/<boot_disk>

Od lvm2 (a věřím šílenci, ale nepoužil jsem ho) je konfigurace uložena na disku. Existuje konfigurace, kterou je třeba přečíst, aby bylo možné zjistit zařízení. Za předpokladu, že jsou vaše zařízení ve standardních umístěních (/dev/sd* nebo /dev/hd* ) neměl by být žádný problém.

Související:Vytvořit soubor jako jiný uživatel a skupina?

PS. Nevěřil bych jednoduchému cp živého systému, protože existuje několik míst, kde se může pokazit:

  • Zapomněli jste změnit /etc/fstab a další užitečné soubory
  • Soubory se během přístupu změnily
  • Jak se vypořádat s odpadky (/tmp atd.)

Debian
  1. Vydán Debian 8 Jessie – Co je nového?

  2. Jak nainstalovat TYPO3 na Debian 9

  3. Jak nainstalovat GRUB na nový disk?

  1. Vydán Debian 10 (Buster) – nové funkce

  2. Obnovte zapomenuté heslo root v Debianu 10 / Debianu 11

  3. Debian – Přesunutí /var, /home do samostatného oddílu?

  1. Jak nainstalovat MariaDB na Debian 10

  2. Jak nakonfigurovat SFTP server s Chrootem v Debianu 10

  3. Jak nainstalovat a nakonfigurovat KVM na Debian 10 (Buster)