昨年のクリスマス、子供たちに新しいMacのノートパソコンをプレゼントしました。以前のパソコンは7年間使い続けてきましたが、この新しいMacは子供たちが大学まで、そしてもしかしたらそれ以降も使い続けてくれるでしょう。新しいMacに買い替えるということは、以前のパソコンから新しいパソコンにすべてのファイルを移行する必要がありました。
古いマシンには両方ともmacOS High Sierraがインストールされており、新しいマシンには最新のmacOS Mojaveがインストールされていました。Appleの指示に従い、古いマシンから新しいマシンへの移行を開始しました。(家族が4台のMacを同時に動かしながら部屋を通り過ぎていく様子は、笑い声でいっぱいでした。)
数時間にわたる移行作業の末、両方のコンピュータでエラーが発生し、片方のコンピュータはデータが完全に転送されたように見えました。もう片方のコンピュータはデータ転送が完了せず、アプリとシステム設定は転送されたものの、メインユーザーのデータが転送されなかったようです。これは、メインユーザーがペアレンタルコントロールを設定していたことが原因である可能性がありますが、移行アシスタントではその問題に関する警告は表示されず、Appleのサポートノートにも記載されていません。
移行アシスタントを長年使ってきた経験から言うと、このような不可解な問題はますます稀になってきています。ユーザーディレクトリを移行するために3つの異なる方法を試しましたが、うまくいったのは3番目(しかも非常に技術的な方法)だけでした。
アカウントを削除してアーカイブする
アカウントを移行する最も分かりやすい方法は、「ユーザとグループ」環境設定パネルのオプションを使ってアカウントを削除し、その内容をアーカイブすることです。まず、古いコンピュータのバックアップがあることを確認してください。それから、そのコンピュータで以下の手順を実行してください。(後の移行方法では、これらの手順の一部も使用することになりますのでご注意ください。)
IDGユーザーの削除を選択すると、ユーザーのディレクトリをディスク イメージに変換できます。
- 「ユーザーとグループ」環境設定パネルを開きます。
- ログをクリックして、管理ユーザーの詳細を入力します。
- ユーザーリストでアカウントを選択します。
- – (マイナス) 記号をクリックします。
- 最初のオプション「ホームフォルダをディスクイメージに保存する」が選択されていることを確認してください。次に、「ユーザーの削除」をクリックします。
- これにより、ユーザーのディレクトリを保存するように求められ、macOS によってそのディスク イメージにコピーされます。
- ディスク イメージ ファイルをネットワークまたは外付けドライブ経由で新しい Mac にコピーします。
- ディスクイメージをダブルクリックしてマウントします。
- 新しいアカウントに使用する名前で、Users ディレクトリに新しいフォルダーを作成します。
- ディスクイメージの内容全体を新しいディレクトリにコピーします。(手順 9 と 10 の両方でコピーの認証が必要になる場合があります。)
- 完了したら、ディスク イメージを取り出します。
- 「ユーザーとグループ」で、「+」(プラス)をクリックして新しいアカウントを作成します。アカウント名は、手順9で「ユーザー」で作成したフォルダ名とは異なる名前にしてください。アカウント名は、ユーザーディレクトリ内のフォルダ名の作成に使用されます。
- こちらの最近の記事で説明されているように、ホームディレクトリをコピーしたディレクトリに「再ポイント」します。(簡単に言うと、新しいユーザー名をControlキーを押しながらクリックし、「ホームディレクトリ」の右側にある「選択」をクリックして、新しいディレクトリを選択します。 「OK 」をクリックします。)
- 次に、アクセス権を修正する必要があります。Finderで、Usersディレクトリにある新しいユーザーのフォルダを選択し、「ファイル」 > 「情報を見る」を選択します。
- [共有とアクセス許可]の下で、ロック アイコンをクリックし、管理者アカウントのパスワードを入力します。
- + 記号をクリックし、このディレクトリの所有者となる先ほど作成したユーザーを選択して、[選択] をクリックします。
- 権限列でそのユーザーを読み取りと書き込みに設定します。
- 次に、歯車アイコンを選択し、「アカウント名を所有者にする」を選択します。
- 最後に、歯車アイコンを選択し、「囲まれたアイテムに適用」を選択して「OK」をクリックします。これには数分かかる場合があります。
これで完了です。 「ユーザーとグループ」 > 「ログインオプション」でファストユーザースイッチが有効になっていることを確認し、ディレクトリを変更したユーザーでログインしてみてください。ログインできない場合は、以下のいずれかの手順をお試しください。
私の場合、この方法は手順6で失敗し、macOSがアカウントの削除とアーカイブを拒否しました。そこで次の方法を試しました。
ディスクユーティリティを使用してユーザーフォルダをディスクイメージとしてアーカイブする
ディスクユーティリティはフォルダーからディスクイメージを作成できるので、これが論理的に次のステップのように思えました。
- ディスクユーティリティを起動します。
- [ファイル] > [新規画像] > [フォルダーからの画像]を選択します。
- ユーザーディレクトリを選択します。
- ディスク イメージを保存し、上記の手順 7 に進みます。
今回も失敗しました。ディスクユーティリティでディスクイメージを作成できなかったため、次のオプションに進みました。
ネットワーク接続経由でコピー
アーカイブとディスク イメージの状態をバイパスして、ユーザー ディレクトリを単純にコピーできるのではないかと思いました。
- 新しいマシンの共有設定パネルで、「ファイル共有」ボックスをオンにしてファイル共有を有効にします。
- 古いマシンの Finder で、「移動」 > 「ネットワーク」を選択し、新しいコンピュータの名前をダブルクリックします。
- ウィンドウの右上にある「接続」をクリックし、管理者ユーザーとパスワードを入力します。
- メインボリュームをダブルクリックしてマウントします。
- コピーしたいユーザーディレクトリを、古いマシンから新しいコンピュータの「ユーザー」 > 「共有」にドラッグします。これにより、コピー時の権限の問題を回避できます。
- 完了したら、新しいマシンでCommandキーを押しながら、ユーザーディレクトリをメインのUsersフォルダにドラッグします。この「移動」操作には管理者パスワードによる認証が必要です。(古いアカウントが新しいマシンに既に存在するアカウントと一致する場合は、移動前にSharedディレクトリにコピーしたフォルダの名前を変更してください。)
- 次に、上記の手順 12 に進みます。
残念ながら、クリスマスの日が進むにつれて、この選択肢もまた失敗に終わりました。私は最も技術的な選択肢に進みました。
コマンドラインツールを使用してすべてのファイルをコピーする
警告!コマンドラインでエラーが発生すると、Macに問題が発生する可能性があり、システムとすべてのファイルの完全な復元が必要になることもあります。完全なバックアップを作成し、以下の手順を正確に実行してください。自信がない場合は、この方法は使用しないでください。
これは本質的には、自分のユーザー アカウント名とフォルダー名を置き換える際に細心の注意を払って実行できる「レシピ」です。
仕組みはこうです。古いUnixコマンドtar (「テープアーカイブ」の略で、本当に古いのです)は、ディレクトリ階層を正確に保存したファイルとフォルダのZIP形式のアーカイブを作成します。ZIPと同様に、アーカイブを展開すると、その構造が再現されます。
ディスク上にアーカイブを作成する代わりに、tarコマンドを使ってアーカイブをネットワーク経由で送信し、ファイルが追加されるたびにライブで展開することができます。これは、他のコピー操作が失敗する場合でも、より信頼性が高く実行可能な、一種の奇妙なUnixコピー操作です。
これを実行するには、「ネットワーク接続経由でコピーする」の手順 1 ~ 4 を開始します。
ここで、次の 4 つの情報を必ず把握しておいてください。
- 古いマシンのUsersフォルダにあるディレクトリ名。これをOLDACCOUNTと呼びます。
- 新しいマシンのUsersフォルダに作成したディレクトリ名。ここではNEWACCOUNTとします。
- ユーザとグループ環境設定パネルの詳細オプションに表示されるアカウント名(画面の見つけ方は上記を参照)。これをSHORTNAMEとします。
- 古いパソコンにマウントされている宛先ドライブ名です。
ls -l /Volumesターミナルに入力すると、すべての内蔵ドライブ、外付けドライブ、ネットワークドライブのリストが表示されます。宛先ドライブのフルネームをメモしておきましょう。ここではNEWDRIVEとします。
IDGターミナルで、内部ドライブ、外部ドライブ、ネットワーク ドライブの一覧を表示します。
いよいよ準備完了です。古いコンピューターで、以下の2つのコマンドをすべての置換を含めて入力し、それぞれReturnキーを押して終了してください。ユーザー名、ボリューム名、またはパス名にスペースが含まれている場合に発生する可能性のあるエラーを防ぐため、パスは必ず単一の引用符で囲んでください。(行頭はsudoすべて1行です。)
cd '/Users/OLDACCOUNT'
sudo tar cvf - . | (cd '/Volumes/NEWDRIVE/Users/Shared/NEWACCOUNT'; tar xf -)
この最後の操作では、使用しているアカウントのパスワードを入力する必要がある可能性があります。 (は、sudo「このコマンドを、このコンピューターで最も重要なアカウントである「スーパーユーザー」であるかのように実行する」という意味です。)
glennfleishmanつまり、古いコンピュータのユーザーディレクトリをglenn新しいコンピュータのアカウントにコピーし、新しいコンピュータの起動ドライブの名前が の場合Amusing Drive Name、コマンドは次のようになります。(行の先頭はsudoすべて 1 行です。)
cd '/Users/glennfleishman'
sudo tar cvf - . | (cd '/Volumes/Amusing Drive Name/Users/Shared/glenn'; tar xf -)
(興味のある方のために、コマンドの意味は次のとおりです。「ディレクトリをそのglennfleishman場所に変更します。ディスク上のファイルに書き込むのではなく、内容をチェーン内の次のプログラムに渡すテープアーカイブを作成します。各ファイルについて、まずディレクトリを宛先ネットワークドライブのディレクトリに変更し、次にアーカイブされたファイルを正しい階層の場所に抽出します。」)
高速な Wi-Fi やイーサネットを使用していても、これには長い時間がかかることがあります。2 行目のv最初のオプションはtar「詳細」を意味し、コピーされる可能性のある 10,000 から 100,000 個のファイルごとに 1 行ずつ表示されます。
すべて完了したら、「ネットワーク接続経由でコピーする」の手順 6 に従って、新しいマシンにユーザー ディレクトリを移動する必要があります。コマンド キーを押したまま、ユーザー ディレクトリをメインの Users フォルダにドラッグし (最初に、Users 内に既に存在するフォルダと同じ名前ではないことを確認します)、必要に応じてパスワードを入力します。
その後、上記の最初の方法の手順 12 に進みます。
権限変更の手順14~19は問題なく動作するはずですが、ファイルのコピー方法によっては問題が発生する可能性があります。その場合は、新しいコンピュータのターミナルを使って問題を解決できます。(なぜ「wheel」が含まれているのでしょうか?これは管理用に使用される標準的なUnixグループ名です。)
- 新しいコンピューターでターミナルを起動します。
- コマンドラインで次のように入力します
sudo chown -R SHORTNAME:wheel /Users/NEWACCOUNT - 続行するように求められたら、パスワードを入力します。
上記の例の場合、次のようになります
sudo chown -R glenn:wheel /Users/glenn
Mac 911に問い合わせる
よくある質問とその回答、コラムへのリンクをまとめました。FAQ集をご覧になり、ご質問が網羅されているかご確認ください。もし掲載されていない場合でも、私たちは常に新しい問題解決の糸口を探しています!ご質問は[email protected]までメールでお送りください。スクリーンショット(必要な場合)と、氏名の使用可否を明記してください。すべてのご質問に回答することはできません。メールへの返信は行っておりません。また、直接的なトラブルシューティングのアドバイスも提供できません。