「新しいハードウェアに移行する」の版間の差分
(リンクを修正) |
(→Top to bottom: 翻訳) |
||
85行目: | 85行目: | ||
# pacman -S --needed - < pkglist.txt |
# pacman -S --needed - < pkglist.txt |
||
+ | == 新しいマシンから古いマシンへ == |
||
− | == Top to bottom == |
||
+ | 新しいマシンから古いマシンへのアプローチには2つのオプションがあります。システムがすでにインストールされているドライブを保持してその内容を変更するか、システムを新しいドライブにコピーすることができます。ドライブを保持し、変更してから古いシステムに戻すと、変更によって古いシステムが起動できなくなる可能性があります。 |
||
− | There are two options for the Top to Bottom approach, you can either keep the drive where the system is already installed, and modify its contents, or you can copy the system to a new drive. If you keep the drive, and modify it, then place it back into the old system, the modifications will likely prevent the old system from booting. |
||
+ | === 古いシステムをクリーンアップします === |
||
− | === Clean up the old system === |
||
+ | [https://wiki.archlinux.jp/index.php/%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0%E3%83%A1%E3%83%B3%E3%83%86%E3%83%8A%E3%83%B3%E3%82%B9#.E3.83.95.E3.82.A1.E3.82.A4.E3.83.AB.E3.82.B7.E3.82.B9.E3.83.86.E3.83.A0.E3.81.AE.E6.8E.83.E9.99.A4 ファイルシステムの掃除] で説明されているように、クローンを作成する前にシステムをクリーンアップすることも価値があります。クリーンアップ後、先に進む前に、古いシステムが引き続き期待どおりに機能していることを確認してください。 |
||
− | It is also worth to clean up your system before cloning it, as described in [[System maintenance#Clean the filesystem]]. Make sure that the old system is still working as expected after the cleanup before moving on. |
||
+ | === システムを新しいドライブにコピーします === |
||
− | === Copy the system to a new drive === |
||
+ | {{Note|システムがすでにインストールされている場所にハードドライブを保持することを計画している場合は、このセクションをスキップできます。}} |
||
− | {{Note|If you are planning to keep the hard drive where the system is already installed, you can skip this section.}} |
||
+ | システムを新しいドライブにコピーするには、[[ディスクのクローン]] とファイルコピーの2つの基本的な方法があります。 |
||
− | There are two fundamental methods for copying the system to a new drive, [[disk cloning]] and file copying. |
||
− | ==== |
+ | ==== ディスクのクローン作成 ==== |
+ | 古い ArchLinux システムではなく、ライブ Linux システムを使用する必要があります。たとえば、Arch Linux [[USB インストールメディア]] を使用できます。古いシステムのパーティションレイアウトとファイルシステムが再現されます。 |
||
− | It is required to use a live linux system rather than the old Arch Linux system; for example you could use the Arch Linux [[USB flash installation media]]. The partition layout and filesystems of the old system will be reproduced. |
||
− | ==== |
+ | ==== ファイルのコピー ==== |
+ | * 新しいドライブに新しい [https://wiki.archlinux.jp/index.php/%E3%83%91%E3%83%BC%E3%83%86%E3%82%A3%E3%82%B7%E3%83%A7%E3%83%8B%E3%83%B3%E3%82%B0 パーティション] と [[ファイルシステム]] を作成します。この機会を利用して、以前とは異なるパーティションレイアウトやファイルシステムを選択できます。 |
||
− | * Create new [[partitions]] and [[filesystems]] on the new drive. You can use the opportunity to chose a different partition layout and/or filesystems than before. |
||
+ | * ファイルシステムごとに、 [[rsync]] または権限や属性などを保持するその他のツールを使用して、古いドライブから新しいドライブにファイルをコピーします。[https://wiki.archlinux.jp/index.php/Rsync#.E3.82.B7.E3.82.B9.E3.83.86.E3.83.A0.E3.81.AE.E3.83.95.E3.83.AB.E3.83.90.E3.83.83.E3.82.AF.E3.82.A2.E3.83.83.E3.83.97 システムのフルバックアップ]]、 [https://wiki.archlinux.jp/index.php/Rsync#.E3.83.95.E3.82.A1.E3.82.A4.E3.83.AB.E3.82.B7.E3.82.B9.E3.83.86.E3.83.A0.E3.81.AE.E3.82.AF.E3.83.AD.E3.83.BC.E3.83.8B.E3.83.B3.E3.82.B0 システムのクローニング] を参照してください。 |
||
− | * For each filesystem, copy the files from the old to the new drive, using [[rsync]] or other tools that preserve permissions, attributes, etc., see [[rsync#Full system backup]], [[rsync#File system cloning]] for further details. |
||
− | ==== |
+ | ==== トランスポートオプション ==== |
+ | 2つのドライブ間でデータを転送する方法には、さまざまな方法があります。 |
||
− | There are many different methods for how to transport the data between the two drives: |
||
+ | *オリジンHDDとデスティネーションHDDを同じコンピューター(古いコンピューターまたは新しいコンピューター)に接続します。データリンク:古いHDD -> コンピューター -> 新しいHDD。 |
||
− | * Connect origin and destination HDDs to the same computer, either the old or the new one. Data link: old HDD -> computer -> new HDD. |
||
+ | *外付けHDDやクラウドバックアップなどの一時ストレージデバイスを利用します。データリンク:古いHDD -> 古いコンピューター -> ストレージ -> 新しいコンピューター -> 新しいHDD。概要については、記事 [https://wiki.archlinux.jp/index.php/Rsync_%E3%81%AB%E3%82%88%E3%82%8B%E3%83%95%E3%83%AB%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0%E3%83%90%E3%83%83%E3%82%AF%E3%82%A2%E3%83%83%E3%83%97 システムバックアップ] を参照してください。 |
||
− | * Make use of temporary storage devices like external HDDs, or cloud backups. Data link: old HDD -> old computer -> storage -> new computer -> new HDD. For an overview see the article [[System backup]]. |
||
+ | * [[rsync]] などを使用して、ネットワーク経由でデータを転送します。データリンク:古いHDD -> 古いコンピューター -> ネットワーク -> 新しいコンピューター -> 新しいHDD。 |
||
− | * Transfer data over network, for example with [[rsync]]. Data link: old HDD -> old computer -> network -> new computer -> new HDD. |
||
+ | 最初の2つのオプションについては、HDD を接続するためのアダプター(PATA-> SATA、USB-HDD-Cases など)が必要になる可能性があることを考慮し、十分に高速な接続を選択してください。 |
||
− | For the first two options, consider that you might need adapters to connect the HDDs (PATA->SATA, USB-HDD-Cases, etc.), and choose a connection that is sufficiently fast. |
||
+ | 最後の2つのオプションでは、この時点では新しいハードドライブから起動できないため、新しいコンピューターでライブ Linux システムを使用する必要があります。 |
||
− | The last two options require you to use a live linux system on the new computer, as it is not possible to boot from the new hard drive at this point. |
||
=== fstab の更新 === |
=== fstab の更新 === |
||
128行目: | 128行目: | ||
{{ic|/mnt/etc/fstab}} の最後に、{{ic|#end of old fstab}} のような任意のコメントを挿入します。 [https://wiki.archlinux.jp/index.php/%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E3%82%AC%E3%82%A4%E3%83%89#fstab_.E3.81.AE.E7.94.9F.E6.88.90 fstab] に記載されているように、新しい fstab ファイルを生成し、現在の fstab ファイルに追加します。一般に、 genfstab によって作成された fstab ファイルは必ず確認してください。この場合、コメントの前に古い fstab エントリをチェックし、それらが古くなっているか重複しているかを確認してから削除し、古いエントリが残っている場合は残しておきます。たとえば、ネットワークドライブのマウントエントリを保持できます。一般に、[[永続的なブロックデバイスの命名]] を使用することをお勧めします。 |
{{ic|/mnt/etc/fstab}} の最後に、{{ic|#end of old fstab}} のような任意のコメントを挿入します。 [https://wiki.archlinux.jp/index.php/%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E3%82%AC%E3%82%A4%E3%83%89#fstab_.E3.81.AE.E7.94.9F.E6.88.90 fstab] に記載されているように、新しい fstab ファイルを生成し、現在の fstab ファイルに追加します。一般に、 genfstab によって作成された fstab ファイルは必ず確認してください。この場合、コメントの前に古い fstab エントリをチェックし、それらが古くなっているか重複しているかを確認してから削除し、古いエントリが残っている場合は残しておきます。たとえば、ネットワークドライブのマウントエントリを保持できます。一般に、[[永続的なブロックデバイスの命名]] を使用することをお勧めします。 |
||
+ | === ブートローダーを再インストールします === |
||
− | === Reinstall the boot loader === |
||
+ | 次の理由により、[[ブートローダー]] を再インストールまたは再構成する必要がある場合があります。 |
||
− | You might need to reinstall and/or reconfigure the [[boot loader]] for the following reasons: |
||
+ | *異なるディスク、パーティションレイアウト、またはファイルシステム |
||
− | * Different disks, partition layout, or filesystem |
||
+ | * [[UEFI]] ブートエントリを新しいメインボード NVRAM に追加 |
||
− | * Adding [[UEFI]] boot entries into the new mainboard NVRAM |
||
+ | * "MBR ブートコード" ブートから UEFI ブートへの移行 |
||
− | * Migration from "MBR boot code" booting to UEFI booting |
||
− | * |
+ | * USB からSATA/NVMe への移行 |
+ | * カーネルコマンドラインの更新 |
||
− | * Updating the kernel commandline |
||
+ | ** 異なる GPU の場合は、フレームバッファーモードを更新します |
||
− | ** In case of a different GPU, update the framebuffer mode |
||
− | ** |
+ | ** [[マイクロコード]] initramfs イメージを更新します |
+ | Arch Linux ライブ環境を使用している場合は、ブートローダーを再インストールする前に、[https://wiki.archlinux.jp/index.php/Chroot changeroot] を新しいシステムにインストールします。 |
||
− | If you are using a Arch Linux live environment, then before reinstalling the boot loader, [[change root]] into the new system: |
||
# arch-chroot /mnt |
# arch-chroot /mnt |
||
+ | (再)インストールする方法については、[[ブートローダー]] の記事を参照してください。 |
||
− | Refer to the article on your [[boot loader]] for instructions on how to (re)install it. |
||
+ | === カーネルイメージを再生成します === |
||
− | === Regenerate kernel image === |
||
+ | [[mkinitcpio]] を使用して initramfs イメージを再生成することをお勧めしますが、最初はフォールバック initramfs イメージが機能する場合があります。 |
||
− | It is recommended to regenerate the initramfs image with [[mkinitcpio]], although initially the fallback initramfs image may work. |
||
+ | === オーディオを再構成します === |
||
− | === Reconfigure audio === |
||
* alsamixer volume |
* alsamixer volume |
||
+ | ** 設定を保存する |
||
− | ** save settings |
||
+ | === ネットワークを再構成します === |
||
− | === Reconfigure network === |
||
+ | 古いインストールと移行されたインストールが同じネットワークに共存する場合は、[https://wiki.archlinux.jp/index.php/%E3%83%8D%E3%83%83%E3%83%88%E3%83%AF%E3%83%BC%E3%82%AF%E8%A8%AD%E5%AE%9A#.E3.83.9B.E3.82.B9.E3.83.88.E3.83.8D.E3.83.BC.E3.83.A0.E3.81.AE.E8.A8.AD.E5.AE.9A hostnamectl] を使用して新しいホスト名を設定します。 |
||
− | If the old installation and the migrated installation shall coexist in the same network, set a new hostname with [[Network configuration#Set the hostname|hostnamectl]]. |
||
+ | ホスト名の変更後に必要な構成の変更も検討してください。 |
||
− | Also consider configuration changes that are required after a change in hostname: |
||
* /etc/hosts |
* /etc/hosts |
||
+ | *ホスト名を使用する他のアプリ:synergy、nut (ネットワークアップツール) |
||
− | * other apps using hostname: synergy, nut (network ups tools) |
||
− | * {{Ic|grep -Ri 'hostname' /etc}} ( |
+ | * {{Ic|grep -Ri 'hostname' /etc}} (root ユーザーとして)は、更新するファイルに関するヒントを提供する必要があります |
+ | 名前付きネットワークインターフェイスで[[dhcpcd]]を使用すると、ネットワークインターフェイス名が変更される場合があります。 |
||
− | The network interface names may change when using [[dhcpcd]] with named network interfaces. |
||
+ | * {{ic|$ dmesg {{!}} grep 'ethから名前が変更されました'}} は、新しいインターフェイス名を見つけるのに役立つ場合があります |
||
− | * {{ic|$ dmesg {{!}} grep 'renamed from eth'}} might help to find the new interface name |
||
− | * remove old: [ |
+ | * remove old: [https://wiki.archlinux.jp/index.php/Systemd#.E3.83.A6.E3.83.8B.E3.83.83.E3.83.88.E3.82.92.E4.BD.BF.E3.81.86 disable] {{ic|dhcpcd@enp''X''s0.service}} |
− | * activate new: [ |
+ | * activate new: [https://wiki.archlinux.jp/index.php/Systemd#.E3.83.A6.E3.83.8B.E3.83.83.E3.83.88.E3.82.92.E4.BD.BF.E3.81.86 enable] {{ic|dhcpcd@enp''X''s0.service}} |
== See also == |
== See also == |
2020年12月4日 (金) 09:12時点における版
この記事では、 Arch Linux システムを新しいハードウェアに移動するために必要な手順について説明します。目標は、ハードウェアに依存しないインストール済みソフトウェアと構成に関して、同じ ArchLinux インストールを実現することです。
インストールの移行には、2つの異なるアプローチがあります:
- 下から上へ :新しいハードウェアに新しい Arch Linux システムをインストールし、インストールしたパッケージと設定ファイルを、例えば ドットファイル で記述されているように復元します。
- 上から下へ :古いハードドライブを新しいハードドライブにクローンするか、古いハードドライブを新しいシステムに配置します。必要に応じて構成ファイルを変更します。
上から下へのアプローチは、下から上へ のアプローチよりも元のシステムをより正確に再現します。
新しいハードウェアに適応
始める前に、新しいハードウェアの側面を調査し、違いのリストを作成します。 一般的な違いは
ハードドライブと SSD
SSD を参照してください
CPU ベンダー
CPU を別のベンダーの CPU(Intel から AMD など)に切り替える場合は、マイクロコード 構成を変更してください。
GPU ベンダー
GPU を別のベンダーのGPUに変更した場合(AMD から NVIDIA など)、グラフィックスドライバーを変更します。
UEFI と MBR のブートコードの起動
UEFI を使用してより新しいメインボードに切り替える場合は、"MBR ブートコード" ブートから UEFI ブートに切り替えることが望ましいか必要な場合があります。 この場合、新しい EFIシステムパーティション が必要です。
古いマシンから新しいマシンへ
古いシステムの場合
ここでは、このアプローチをインストールガイドと区別する、古いシステムから新しいシステムに引き継がれる最小限の構成を定義します。新しいシステムにコピーする /etc
の構成ファイルと /home
のドットファイル、およびユーザーデータファイルについて考えてみます。新しいシステムから古いシステムにアクセスできない場合は、コピーするすべてのファイルをバックアップしてください。
インストールされているパッケージのリスト
$ pacman -Qqen > pkglist.txt $ pacman -Qqem > pkglist_aur.txt
リポジトリと AUR から明示的にインストールされたパッケージの素晴らしいリストを提供します。作成する場合は、バックアップに含めてください。
次のスクリプトを使用して、パックマンに知られていない状態でインストールされたバイナリとライブラリの概要を確認することもできます(たとえば、Steam、Desuraを介してインストールするか、独自のインストール方法を使用してインストールします)。
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 キャッシュ
アーキテクチャを変更しない場合(たとえば、x86 から x86_64 )は、 /var/cache/pacman/pkg/
のバックアップを検討してください。
新しいシステムで
インストールガイド前半
新しいシステムのインストールの基本については、インストールガイド を参照してください。 pacstrap コマンドを除いて、インストールガイドの前半に従ってください。
pacman キャッシュをコピーする
/var/cache/pacman/pkg/
にある pacman キャッシュを古いシステムから新しいシステムに、またはバックアップから新しいシステムにコピーします。
インストールガイド後半
pacstrap コマンドを含むインストールガイドを最後まで続行しますが、再起動しないでください。パッケージのインストール以外に追加の作業を行うため、 pacstrap コマンドをスキップしないでください。
以前にインストールしたソフトウェアをインストールする
pkglist.txt (および pkglist_aur.txt )を編集し、新しいシステムで不要なドライバーを削除します。次に、以前にインストールした他のソフトウェアを
# pacman -S --needed - < pkglist.txt
新しいマシンから古いマシンへ
新しいマシンから古いマシンへのアプローチには2つのオプションがあります。システムがすでにインストールされているドライブを保持してその内容を変更するか、システムを新しいドライブにコピーすることができます。ドライブを保持し、変更してから古いシステムに戻すと、変更によって古いシステムが起動できなくなる可能性があります。
古いシステムをクリーンアップします
ファイルシステムの掃除 で説明されているように、クローンを作成する前にシステムをクリーンアップすることも価値があります。クリーンアップ後、先に進む前に、古いシステムが引き続き期待どおりに機能していることを確認してください。
システムを新しいドライブにコピーします
システムを新しいドライブにコピーするには、ディスクのクローン とファイルコピーの2つの基本的な方法があります。
ディスクのクローン作成
古い ArchLinux システムではなく、ライブ Linux システムを使用する必要があります。たとえば、Arch Linux USB インストールメディア を使用できます。古いシステムのパーティションレイアウトとファイルシステムが再現されます。
ファイルのコピー
- 新しいドライブに新しい パーティション と ファイルシステム を作成します。この機会を利用して、以前とは異なるパーティションレイアウトやファイルシステムを選択できます。
- ファイルシステムごとに、 rsync または権限や属性などを保持するその他のツールを使用して、古いドライブから新しいドライブにファイルをコピーします。システムのフルバックアップ]、 システムのクローニング を参照してください。
トランスポートオプション
2つのドライブ間でデータを転送する方法には、さまざまな方法があります。
- オリジンHDDとデスティネーションHDDを同じコンピューター(古いコンピューターまたは新しいコンピューター)に接続します。データリンク:古いHDD -> コンピューター -> 新しいHDD。
- 外付けHDDやクラウドバックアップなどの一時ストレージデバイスを利用します。データリンク:古いHDD -> 古いコンピューター -> ストレージ -> 新しいコンピューター -> 新しいHDD。概要については、記事 システムバックアップ を参照してください。
- rsync などを使用して、ネットワーク経由でデータを転送します。データリンク:古いHDD -> 古いコンピューター -> ネットワーク -> 新しいコンピューター -> 新しいHDD。
最初の2つのオプションについては、HDD を接続するためのアダプター(PATA-> SATA、USB-HDD-Cases など)が必要になる可能性があることを考慮し、十分に高速な接続を選択してください。
最後の2つのオプションでは、この時点では新しいハードドライブから起動できないため、新しいコンピューターでライブ Linux システムを使用する必要があります。
fstab の更新
Arch Linux インストールイメージを使用している場合は、新しいルートパーティションを /mnt にマウントし、通常のインストールと同様に必要な他のパーティションをマウントします ファイルシステムのマウント を参照してください。)
/mnt/etc/fstab
の最後に、#end of old fstab
のような任意のコメントを挿入します。 fstab に記載されているように、新しい fstab ファイルを生成し、現在の fstab ファイルに追加します。一般に、 genfstab によって作成された fstab ファイルは必ず確認してください。この場合、コメントの前に古い fstab エントリをチェックし、それらが古くなっているか重複しているかを確認してから削除し、古いエントリが残っている場合は残しておきます。たとえば、ネットワークドライブのマウントエントリを保持できます。一般に、永続的なブロックデバイスの命名 を使用することをお勧めします。
ブートローダーを再インストールします
次の理由により、ブートローダー を再インストールまたは再構成する必要がある場合があります。
- 異なるディスク、パーティションレイアウト、またはファイルシステム
- UEFI ブートエントリを新しいメインボード NVRAM に追加
- "MBR ブートコード" ブートから UEFI ブートへの移行
- USB からSATA/NVMe への移行
- カーネルコマンドラインの更新
- 異なる GPU の場合は、フレームバッファーモードを更新します
- マイクロコード initramfs イメージを更新します
Arch Linux ライブ環境を使用している場合は、ブートローダーを再インストールする前に、changeroot を新しいシステムにインストールします。
# arch-chroot /mnt
(再)インストールする方法については、ブートローダー の記事を参照してください。
カーネルイメージを再生成します
mkinitcpio を使用して initramfs イメージを再生成することをお勧めしますが、最初はフォールバック initramfs イメージが機能する場合があります。
オーディオを再構成します
- alsamixer volume
- 設定を保存する
ネットワークを再構成します
古いインストールと移行されたインストールが同じネットワークに共存する場合は、hostnamectl を使用して新しいホスト名を設定します。
ホスト名の変更後に必要な構成の変更も検討してください。
- /etc/hosts
- ホスト名を使用する他のアプリ:synergy、nut (ネットワークアップツール)
grep -Ri 'hostname' /etc
(root ユーザーとして)は、更新するファイルに関するヒントを提供する必要があります
名前付きネットワークインターフェイスでdhcpcdを使用すると、ネットワークインターフェイス名が変更される場合があります。
$ dmesg | grep 'ethから名前が変更されました'
は、新しいインターフェイス名を見つけるのに役立つ場合があります- remove old: disable
dhcpcd@enpXs0.service
- activate new: enable
dhcpcd@enpXs0.service