概要

概要

場合によっては、Windowsのインストールをあるコンピュータから別のコンピュータに移動すること(ハードドライブを物理的に移動すること)が困難になる可能性がありますが、Linuxではこれはどのように機能しますか?起動時にほとんどのドライバモジュールがロードされませんか?では、理論的にはそう問題になるのでしょうか?

明らかにxorg設定が変更され、独自のATIドライバを再コンパイルする必要があります(おそらく?)。私が思った以上のものはありますか?

2台のコンピュータが同じ時代に作成されましたが、どちらもi7ですが、ハードウェアが少し異なるとしましょう。

更新:
答えてくれてありがとう。これはほとんど私自身の好奇心に由来するものです。私は仕事にLinuxシステムをインストールして実行していますが、最終的には2台以上のモニタを実行できるようにデュアルグラフィックカードをインストールできるコンピュータに切り替えたいと思います。しかし、まもなくではありません。

答え1

ソースプロセッサとターゲットプロセッサのアーキテクチャが同じであると仮定すると(たとえば、両方ともx86、両方ともx64、両方ともarm ...)、Linuxインストールを移動または複製することは非常に簡単です。

移動する

移動するときは、ハードウェアの依存関係を知っておく必要があります。ただし、ほとんどのユーザーはxorg.conf(最新のディストリビューションでもしばしば必要としない場合があります)、ブートローダを除いて何の問題も経験しません。

  • ディスク構成が異なる場合は、再構成が必要な場合があります。ブートローダーそしてファイルシステムテーブル(暗号化を使用する/etc/fstab場合/etc/crypttab/etc/mdadm.confmd RAIDを使用する場合)。ブートローダの最も簡単な方法は、ディスクを新しいシステムに挿入し、ディストリビューションのライブCD / USBを起動してブートローダの回復ツールを使用することです。

    ディスクを物理的に移動するよりもデータをコピーする場合(たとえば、1つまたは2つのシステムがWindowsでデュアルブートされている場合)、dd(G)PartedまたはWindowsを使用してパーティション全体をコピーする方が高速で簡単です。

  • お持ちの場合xorg.confディスプレイ関連オプション(例:独自ドライバー関連)を宣言するためのファイル。ターゲットシステムに異なるグラフィックカードまたは異なるモニタ設定がある場合は、変更する必要があります。また、インストールする必要があります専用ドライバー移動する前に、ターゲットシステムのグラフィックカード(該当する場合)を確認してください。

  • 宣言した場合モジュールオプションまたはブラックリスト/etc/modprobe.d(対象システムに合わせて調整する必要があるかもしれません)。

クローン

レプリケーションのインストールには、移動と同じハードウェア関連の問題が含まれますが、新しいシステムに新しい ID を付与するために知っておく必要のある点がいくつかあります。

  • 編集新しいシステムに新しい名前を割り当てます。下に表示される別のホスト名を検索してください。一般的な場所は(別名127.0.0.1)および/または他のメールシステム構成です。/etc/hostname
    /etc/etc/hosts/etc/mailname

  • 遊ぶSSHホストキー

  • 次の事項を必要に応じて変更してください。ネットワーク構成(たとえば、静的IPアドレス)。

  • RAIDボリュームのUUIDを変更します(必須ではありませんが混乱を避けるために推奨)mdadm -U uuid

また、見ることができますUbuntuの段階的なレプリケーションガイド

現在のデスクトップコンピュータのインストールは、2つのRAID-1ミラーリングディスクのうちの1つを分離して新しいコンピュータに移動し、既存のディスクにRAID-1ボリュームを作成し、ミラーを再同期して変更する方法で古いコンピュータから複製されました。上記の内容が適用されます。

答え2

これがあなたの質問に答えるかどうかはわかりませんが、通常は正反対の作業を行います。つまり、ユーザーフォルダを移動してすべてを再インストールします。理論的には、すべてのカスタムファイルと個々の設定ファイルはユーザーフォルダに配置する必要があるため、転送する唯一のファイルはユーザーフォルダです。

一部のパッケージマネージャはインストールされているすべてのパッケージを一覧表示できるので(Debian / Ubuntuにはそのパッケージdpkg --list、Gentooには含まれている/etc/worldなど)、次のことができます。

  1. 新しいシステムにデフォルトのディストリビューションをインストールする
  2. 「別のコンピュータにあるすべてのパッケージをインストールしてください」と指示します。
  3. ユーザーフォルダのコピー

機能的に同じシステムが完成する必要があります。

答え3

実際、Windowsではハードドライブの内容をコピーしたり、PC間でハードドライブを切り替えたりしてインストールを新しいPCに移動することはほとんど不可能ですが、Linuxでは非常にうまく機能します。 Thinkpad R52からThinkpad T400に切り替え、既存のドライブの内容を新しいドライブにコピーしました(既存のドライブをUSB経由で接続された外部エンクロージャに挿入し、すべてをGparted-Live-CDにコピーしました)。それから私がしなければならなかったのは、手動でGrubをMBRに入れて始めることだけでした。すべてがまだ私にとって効果的です。

Michaelが言ったように、通常、新しいPCは時間の経過とともに積み重ねられたジャンクを取り除くのに最適な機会ですが、時にはすぐ​​に作業に戻る必要があり、すべてのドライバが動作するため、ハードドライブのコンテンツコピーはLinuxでうまく機能します。ドライバはインストールせずにカーネルで使用できます。ドライバはmodprobe.confに手動でリストされておらず、自動的にロードされます。

古いPC(Raidシステム、専用グラフィックドライバなど)でドライバを手動で設定する必要がある場合にのみ問題が発生する可能性があります。

答え4

概要

最近、Arch Linuxのインストールを別のドライブに移動しました。小さい元のドライブより

ネイティブドライブは1つのパーティションのみを使用するため、操作が簡単になります。ルートパーティションとは別のブートパーティションがある場合これは答えですこれが役に立ちます。

ステップは次のとおりです。

  1. データをバックアップしてください。
  2. ターゲットドライブにext4ファイルシステムを含むパーティションを作成します。
  3. ソースパーティションのすべてのデータをターゲットパーティションにコピーします。
  4. インストールする幼虫ターゲットドライブのブートローダとして機能します。

ヒント

始める前に ヒント: 接続しているデバイス (たとえば/dev/sdb) のパスを決定し、通常はデバイスとパーティションの状態を監視するには、次のようにします。watch結合するlsblk:

watch lsblk -o tran,name,model,fstype,label,mountpoints,fssize,fsavail,fsused,fsuse%

2秒ごとに更新され、次の出力が生成されます。

TRAN   NAME   MODEL                   FSTYPE LABEL        MOUNTPOINTS                FSSIZE FSAVAIL FSUSED FSUSE%
sata   sda    SanDisk SSD PLUS 1000GB
        ├─sda1                         ext4   VM partition /sda1                        108G     50G  53.4G    49%
        └─sda3                         ext4                /                            808G  561.3G 205.7G    25%
usb    sdb    SABRENT
        └─sdb1                         ext4   new_daedalus /run/media/me/new_daedalus  29.2G   25.3G   2.4G     8%
sata   sr0    MATSHITADVD-RAM UJ8A2

あるパーティションの内容を別のパーティションにコピーするので、大量のスペースを占めるフラグメントを削除することをお勧めします。次のコマンドを使用してソースパーティションを確認します。ncdu最も多くのデータを含むディレクトリをターゲットにして、可能であれば削除または移動します。

もう一つの点:私はSATA-USBアダプタを使用しています。これらソースドライブとターゲットドライブをマイコンピュータに接続します。

詳細

データをバックアップし、ターゲットドライブがあると仮定して/dev/sdb分析しましょう。

  1. ターゲットドライブにext4ファイルシステムを含むパーティションを作成します。

  2. ソースパーティションのすべてのデータをターゲットパーティションにコピーします。

    • 以下は、古いパーティションと新しいパーティションの両方がマウントされていると仮定します。
      sudo rsync -a --hard-links --delete --progress --human-readable --stats /run/media/me/old_partition/ /run/media/me/new_partition/
      
    • 使ったrsyncここで。cp同じ目的を達成するためにgood oldを使用することもできます。
      sudo cp --recursive -a /run/media/me/old_partition/* /run/media/me/new_partition/
      
  3. インストールする幼虫ターゲットドライブのブートローダとして:

    • 新しいパーティションに実行するために必要な仮想ファイルシステムを追加しますgrub-install
      sudo mount --bind /dev /run/media/me/new_partition/dev; sudo mount --bind /proc /run/media/me/new_partition/proc
      
    • 新しいパーティションのルートディレクトリを現在のルートディレクトリにします。
      sudo chroot /run/media/me/new_partition/
      
    • ターゲットドライブにGRUBを取り付けます(参照:これ詳しくはこちらをご覧ください。):
      grub-install /dev/sdb; grub-mkconfig -o /boot/grub/grub.cfg
      
    • chrootCtrl+を使用dまたは終了します。exit
    • 仮想ファイルシステムとパーティション自体をアンマウントします。
      sudo umount --recursive /run/media/me/new_partition
      

これでnew_partition、ドライブにインストールされているLinuxを使用できるようになります/dev/sdb

関連情報