新しいコンピュータにUbuntuをインストールし、既存のHDをユーザーファイルとともに転送する

新しいコンピュータにUbuntuをインストールし、既存のHDをユーザーファイルとともに転送する

新しいコンピューターを購入しようとしています。当然、Ubuntu 16.04 をインストールします :P

新しいコンピュータへの移行については、次のような計画を考えています。これがどの程度簡単か、合理的か、アドバイスをお願いします。

SSD は搭載しているが従来のハード ドライブは搭載していない新しいコンピューターを購入します。SSD に Ubuntu をインストールしようと考えています。ただし、古いコンピューターのハード ドライブもインストールしたいと思っています。

アイデアとしては、Ubuntu システム ファイルを SSD に保存しつつ、複雑なコピー/再フォーマット プロセスを実行せずに、古いコンピューターのハード ディスクからすべてのデータ (つまり、ユーザー ファイル) を保持することです。

非標準の設定をいくつか行う必要があると思います (つまり、古い HD に "/home" をマウントする)。

以前に Ubuntu をインストールしたことがありますが、デフォルト オプションのみを使用していました。既存のハード ディスクは単一のパーティションで、Ubuntu システム ファイルと /home が含まれていますが、インストールが完了したら、ディスクから古い Ubuntu システム ファイル (つまり、「/home」以外のすべて) を削除できると思います。

これを実現するのはどれくらい簡単でしょうか? 注意すべき落とし穴はありますか?

答え1

まず、すべての重要なファイルの信頼できるバックアップがあることを確認してください。

新しいシステムのユーザー ID (UID/GID) が古いシステムのものと一致することを確認してください。そうすれば、古い /home ディレクトリ内のすべてのファイルの所有権を変更する必要はありません (getent passwd <username>情報が提供されます)。新しい Ubuntu システムでは、新しいユーザーの UID は 1000 から始まります。

古い /home ディレクトリはパーティションではなくディレクトリであるため、古いパーティション (/dev/sdb1 など) を新しい /home にマウントするだけでは完了しません。ただし、手動で修正すれば、それほど難しくはありません。

新しい Ubuntu を SSD にインストールするときに古いディスクが接続されていると仮定すると、考えられる方法の 1 つは次のとおりです。

新しい SDD が /dev/sda にあり、古いディスクが /dev/sdb にあるとします。通常どおり、Ubuntu のインストール (CD または USB から) を開始し、ディスクのパーティション分割まで行います。インストーラーが既にマウントされているパーティションについて通知する場合もありますので、インストーラーにそれらをアンマウントさせます。

次のダイアログで「手動」を選択して、パーティション分割のデフォルトを上書きします。次に、新しいディスクを選択します (正しいディスクを選択するように注意してください。ここでは sda1 のはずですが、ディスクのサイズから確認できます)。パーティション テーブルがまだない場合は、インストーラーに作成させます。次に「空き領域」を選択し、「空き領域を自動的にパーティション分割」を選択します。これで、/dev/sda に 2 つの新しいパーティション (/ と swap) が作成されます。そのままにしておきます。

次に、データがある古いディスクのパーティション (通常は sdb のプライマリ パーティション、ext4 形式) を選択します。パーティション設定で、「使用方法」を選択し、ディスク上に既に存在するファイル システム (通常は ext4) を選択します。

パーティション設定で確認する「パーティションをフォーマットする」オプションでいいえ、既存のデータを保持します「」が選択されます。そうしないと、すべてのデータが失われる可能性があります。

「マウント ポイント」を選択し、次のダイアログで「/home」を選択します。次に、「パーティションの設定を完了しました」を選択します。パーティション設定ダイアログに戻ります。ここで、再度パーティション設定を徹底的に制御する必要があります。ここまで、ディスクに対して何も行われていません。すべてが予想どおりであれば、「パーティション設定を終了し、変更をディスクに書き込みます」を選択し、提案​​されたアクションを再度制御した後、「変更をディスクに書き込みますか?」に「はい」と答えます。これはディスクに影響するので、事前によく確認してください。古いディスクのパーティションはフォーマットされていない必要があります。

インストール プロセスの最後に、ブート ローダーをインストールする場所を尋ねられます。SSD (/dev/sda) を選択します。また、古いシステム (ディスクから削除されていない限り) を選択して起動できる GRUB メニューもあります。

インストール プロセスを完了し、新しいシステムにログインすると、古い "/" は /home にマウントされ、作成したユーザー用に新しいサブディレクトリが作成されます。さらに、古いシステムのすべてのディレクトリはサブディレクトリとして、古い /home は /home/home としてそこに作成されます。これでsudo mv /home/home/<username> to /home/<username>(または複数のユーザーがいる場合はsudo mv /home/home/* /home) 完了です。

インストール中に作成したデフォルト ユーザーが古いユーザーの 1 人と同じ名前 (つまりホーム ディレクトリの名前も同じ) である場合、同じ名前の新しいユーザー ディレクトリが作成されるため、このユーザーに対してはこれを行うことはできません。したがって、別の名前でデフォルト ユーザーを作成し、ユーザーのホームを移動した後にこれを修正するのが最善です。また、/bin、/tmp、/usr などのシステム ディレクトリにちなんで名付けられたユーザーはいないと想定しています。これらの古いシステムのディレクトリは /home にまだ存在しているためです。すべてが問題なく機能する場合は、後でそれらを (再) 移動できます。

このアプローチにはもう 1 つ問題があります。古いユーザー構成 (.cache、.config など) がすべて再利用されるということです。特に GUI (unity、gnome など) や新しいバージョンのソフトウェアを使用する場合、奇妙な動作が発生する可能性があります。

関連情報