Migrate installation to new hardware (Polski)

Related articles
Moving an existing install into (or out of) a virtual machine
W tym artykule omówiono kroki wymagane do przeniesienia systemu Arch Linux na nowy sprzęt. Celem jest osiągnięcie takiej samej instalacji ArchLinux, jeśli chodzi o zainstalowane oprogramowanie i konfigurację, która jest niezależna od sprzętu.
Warning
Niektóre z poniższych instrukcji mogą być niebezpieczne: przed kontynuowaniem zaleca się wykonanie kopii zapasowej wszystkich ważnych danych w starym systemie.
Istnieją dwa różne podejścia do migracji instalacji:
Bottom to top
: Zainstaluj świeży system Arch Linux na nowym sprzęcie, a następnie przywróć zainstalowane pakiety i pliki konfiguracyjne, m.in. jak opisano w
dotfiles
.
Top to bottom
: Sklonuj stary dysk twardy na nowy dysk twardy lub umieść stary dysk twardy w nowym systemie; w razie potrzeby zmodyfikuj pliki konfiguracyjne.
Podejście
od góry do dołu
zapewnia dokładniejsze odtworzenie oryginalnego systemu niż podejście
od dołu do góry
.
Dostosuj się do nowego sprzętu
Warning
W przypadku obu podejść musimy uwzględnić różnice między starym a sprzętem i odpowiednio zmienić zainstalowane sterowniki i konfigurację.
Zanim zaczniesz, zbadaj aspekty nowego sprzętu i sporządź listę różnic. Wspólne różnice to
Hard drive vs. SSD
Zobacz artykuł
SSD
.
Dostawca procesora
Jeśli zmienisz procesor na procesor innego dostawcy (np. Intel na AMD), zmień konfigurację
mikrokod
.
GPU
Jeśli zmieniłeś GPU na GPU innego dostawcy (np. z firmy
AMD
na
NVIDIA
), zmień sterownik graficzny.
UEFI vs. MBR boot code booting
Jeśli przełączysz się na nowszą płytę główną z UEFI, może być preferowane lub wymagane przełączenie rozruchu z „MBR boot code” na rozruch
UEFI
. W takim przypadku potrzebny jest
EFI system partition
.
Od dołu do gór
W starym systemie
We define here a minimal configuration that carries over from the old to the new system which differentiates this approach from the Installation guide. Think about the configuration files from
/etc
and dotfiles in
/home
that you want to copy to the new system, as well as user data files. If you will not have access to the old system from the new system then backup up all the files that you want to copy over.
Lista zainstalowanych pakietów
$ pacman -Qqen > pkglist.txt
$ pacman -Qqem > pkglist_aur.txt
daje ładną listę jawnie zainstalowanych pakietów z repozytoriów i
AUR
. Dołącz go do kopii zapasowej, jeśli ją wykonasz.
Możesz również użyć następującego skryptu, aby uzyskać lepszy przegląd plików binarnych i bibliotek zainstalowanych bez wiedzy pacmana (np. instalowanych przez Steam, Desura lub przy użyciu ich własnych metod instalacji):
find / -regextype posix-extended -regex "/(sys|srv|proc)|.*/\.ccache/.*" -prune -o -type f \
-exec bash -c 'file "{}" | grep -E "(32|64)-bit"' \; | \
awk -F: '{print $1}' | \
while read -r bin; \
do pacman -Qo "$bin" &>/dev/null || echo "$bin"; \
done
pacman cache
Rozważ utworzenie kopii zapasowej
/var/cache/pacman/pkg/
jeśli nie zmieniasz architektur (na przykład z x86 na x86_64).
W nowym systemie
Instrukcja instalacji pierwsza połowa
Podstawowe informacje na temat instalacji nowego systemu można znaleźć w
Installation guide
. Postępuj zgodnie z pierwszą połową instrukcji instalacji, ale z wyłączeniem polecenia pacstrap.
Skopiuj pamięć podręczną pacmana
Skopiuj pamięć podręczną pacman znalezioną w
/var/cache/pacman/pkg/
ze starego do nowego systemu lub z kopii zapasowej do nowego systemu.
Instrukcja instalacji druga połowa
Kontynuuj korzystanie z przewodnika instalacji od, włącznie z poleceniem pacstrap, aż do końca, ale nie uruchamiaj ponownie. Nie pomijaj polecenia pacstrap, ponieważ wykonuje ono dodatkową pracę poza instalacją pakietów.
Zainstaluj wcześniej zainstalowane oprogramowanie
Edytuj pkglist.txt (i pkglist_aur.txt) i usuń sterowniki, które nie są potrzebne w nowym systemie. Następnie zainstaluj inne wcześniej zainstalowane oprogramowanie za pomocą
# pacman -S --needed - < pkglist.txt
Od góry do dołu
Istnieją dwie opcje podejścia od góry do dołu: możesz zachować dysk, na którym system jest już zainstalowany, i zmodyfikować jego zawartość lub skopiować system na nowy dysk. Jeśli zachowasz dysk i zmodyfikujesz go, a następnie umieścisz go z powrotem w starym systemie, modyfikacje prawdopodobnie uniemożliwią uruchomienie starego systemu.
Oczyść stary system
Warto również wyczyścić system przed sklonowaniem, jak opisano w
System maintenance#Clean the filesystem
Upewnij się, że stary system nadal działa zgodnie z oczekiwaniami po oczyszczeniu, zanim przejdziesz dalej.
Skopiuj system na nowy dysk
Note
Jeśli planujesz zachować dysk twardy, na którym system jest już zainstalowany, możesz pominąć tę sekcję.
Istnieją dwie podstawowe metody kopiowania systemu na nowy dysk,
disk cloning
i kopiowanie plików.
Klonowanie dysku
Wymagane jest używanie działającego systemu Linux zamiast starego systemu Arch Linux; na przykład możesz użyć nośnika instalacyjnego Arch Linux
USB flash installation media
. Zostaną odtworzone układ partycji i systemy plików starego systemu.
Kopiowanie plików
Utwórz nowe
partycje
i
systemy plików
na nowym dysku. Możesz skorzystać z okazji, aby wybrać inny układ partycji i/lub systemy plików niż wcześniej.
Dla każdego systemu plików skopiuj pliki ze starego na nowy dysk, używając
rsync
lub innych narzędzi, które zachowują uprawnienia, atrybuty itp., zobacz
rsync#Full system backup
rsync#File system cloning
aby uzyskać więcej informacji.
Transport options
Istnieje wiele różnych metod przenoszenia danych między dwoma dyskami:
Podłącz oryginalny i docelowy dysk twardy do tego samego komputera, starego lub nowego. Łącze danych: stary HDD -> komputer -> nowy HDD.
Korzystaj z tymczasowych urządzeń pamięci masowej, takich jak zewnętrzne dyski twarde lub kopie zapasowe w chmurze. Łącze danych: stary dysk twardy -> stary komputer -> pamięć -> nowy komputer -> nowy dysk twardy. Zobacz artykuł
System backup
.
Przesyłaj dane przez sieć, na przykład za pomocą
rsync
. Łącze danych: stary dysk twardy -> stary komputer -> sieć -> nowy komputer -> nowy dysk twardy.
W przypadku dwóch pierwszych opcji należy wziąć pod uwagę, że do podłączenia dysków twardych mogą być potrzebne adaptery (PATA->SATA, USB-HDD-Cases, itp.) i wybrać wystarczająco szybkie połączenie.
Dwie ostatnie opcje wymagają użycia działającego systemu Linux na nowym komputerze, ponieważ w tym momencie nie można uruchomić systemu z nowego dysku twardego.
Zaktualizuj fstab
Warning
Przed wykonaniem tego kroku upewnij się, że nie chcesz używać tego dysku w starym systemie, ponieważ zmiana pliku
fstab
prawdopodobnie uniemożliwi uruchomienie systemu w starej konfiguracji.
Jeśli używasz obrazu instalacyjnego Arch Linux, zamontuj nową partycję główną do
/mnt
i inne wymagane partycje, tak jak podczas normalnej instalacji (zobacz
Installation guide#Mount the file systems
).
Wstaw dowolny komentarz, taki jak
#end of old fstab
na końcu
/mnt/etc/fstab
. Wygeneruj nowy plik fstab, jak wskazano w Przewodniku
Installation guide#Fstab
, dołączając go do bieżącego pliku fstab. Ogólnie zawsze przeglądaj plik fstab utworzony przez genfstab. W takim przypadku sprawdź starsze wpisy fstab przed komentarzem, jeśli są nieaktualne lub zduplikowane, usuń je, a jeśli stare wpisy nadal będą przydatne, zachowaj je. Na przykład można zachować wpisy montowania dla dysków sieciowych. Ogólnie zaleca się używanie
Persistent block device naming
.
Zainstaluj ponownie program ładujący
Może zajść potrzeba ponownej instalacji i/lub ponownej konfiguracji
boot loadera
z następujących powodów:
Różne dyski, układ partycji lub system plików
Dodawanie wpisów rozruchowych
UEFI
do nowej pamięci NVRAM na płycie głównej
Migracja z rozruchu „MBR boot code” do rozruchu UEFI
Migracja z USB do SATA/NVMe
Aktualizacja wiersza poleceń jądra
W przypadku innego GPU zaktualizuj tryb bufora ramki
Zaktualizuj obraz
Microcode
initramfs
Jeśli używasz środowiska Live Arch Linux, przed ponowną instalacją programu ładującego, wykonaj
chroot
w nowym systemie:
# arch-chroot /mnt
Zapoznaj się z artykułem dotyczącym
boot loader
, aby dowiedzieć się, jak go (ponownie) zainstalować.
Regeneracja obrazu jądra
Zaleca się zregenerowanie obrazu initramfs za pomocą
mkinitcpio
, chociaż początkowo awaryjny obraz initramfs może działać.
Skonfiguruj ponownie dźwięk
alsamixer volume
save settings
Zmień konfigurację sieci
Jeśli stara instalacja i migrowana instalacja będą współistnieć w tej samej sieci, ustaw nową nazwę hosta z
hostnamectl
.
Rozważ również zmiany konfiguracji, które są wymagane po zmianie nazwy hosta:
/etc/hosts
other apps using hostname: synergy, nut (network ups tools)
grep -Ri 'hostname' /etc
(jako użytkownik root) powinien dać kilka wskazówek na temat plików do aktualizacji
Nazwy interfejsów sieciowych mogą ulec zmianie podczas używania
dhcpcd
z nazwanymi interfejsami sieciowymi.
Uruchomienie
dmesg | grep 'renamed from eth'
jako root może pomóc znaleźć nową nazwę interfejsu
usuwać stary:
disable
dhcpcd@enp
X
s0.service
aktywuj nowy:
enable
dhcpcd@enp
X
s0.service
Zobacz też
Howto clone a linux system
[1]
[2]