私の既存のホームサーバーには、ハードウェアとSSD上で動作するCentOS 7がインストールされていますが、SSDはかなり古いです。このシステムはIntelに基づいています。
- コアi7 4770K @ 3.5GHz
- 16GB カセアリベンジェンス DDR3 RAM
- ギガバイトGA-B85-HD3
- サムスン840 EVO 500GB SSD
- Linuxカーネル: 3.10.0-1127.19.1.el7
最近のAMD Ryzenベースのシステムからドライブを起動しようとしましたが、すぐにカーネルパニックとダウンタイムが発生したため、起動プロセスはまったく楽しくありませんでした。
memtestの現在のシステムは、テストごとに異なる数百のランダムメモリ位置をリストする多くのエラーを示しています。 SSDに不良セクタがあるとマークされ、システムをアップグレードしたいと思います。現在のオペレーティングシステムを維持しながら、この問題をどのように解決できますか?オペレーティングシステムを実行できる互換ハードウェアの標準は何ですか?
答え1
したがって、まずRAMにエラーが表示され、SSDにもエラーが表示される場合、現在のシステムは実行されず、何も失われません。 :) これはまた、バックアップの作成や同じ操作を実行できないことを意味します。破損したRAMが干渉を引き起こす可能性があるため、既存のシステムUSBサムドライブを使用して起動可能にします。したがって、最初にすべきことは、現在のSSDをバックアップすることです。
そのため、
- 外付けハードドライブなどのバックアップメディアを入手してください。
- ライブUSBメディアをダウンロードするには、RAMエラーのないマシンを使用してください。 Fedoraライブインストーラメディアを使用しましたが、問題ではありません。新しいPCから最新のLinuxで起動するだけです。
- 既存のSSDを新しいPCに接続する
- ライブUSBメディアから起動
- 最新のファイルシステム(XFS、btrfsなど)を使用して外部メディアをフォーマットします。 (Fedora USBイメージが付属していますが、正直なところ
blivet-gui
かなり良いツールです。) ddrescue
バックアップメディアに既存のSSDをイメージングするために使用されます。 (fedora live:以下をsudo dnf install ddrescue
使用してインストールできます。- 画像を読み取り専用に設定
だから。それは問題ではありません。今、私たちはより多くのデータを失うことなく古くて破損したSSDを捨てることができることを知っています。
さて、正直に言うと、新しいPCに新しいSSDをインストールし、最新のLinuxを設定してそれを実行してから、「既存の」SSDを横で動作させることをお勧めします。あなたできるただし、ライブUSBを使用して作業を続けることはできます。
- (ボーナス:上記のXFSまたはbtrfsを使用している場合は、コピーに
cp
時間や速度は必要ありません。変更が始まるまで、ブロックが影響を受けてから実際に変更されたコピーを取得するまで、変更されていないデータのミラーにすぎません。 .) losetup -P -f /pat/to/imagefile
Linuxでは、イメージ内のパーティションテーブルをスキャンし、パーティションごとにテーブルを作成できます/dev/loopNpM
。fsck
ファイルシステムを修復するには、これらのパーティションを使用します。一部は壊れるでしょう。- / sysimageなどのルートファイルシステムをマウントするディレクトリを作成し、「host」から/ sysimage / sys、/ sysimage / procに/ runをマウントし
/dev/loopNpM
ますmount -t bind
。ファイルシステム - chrootを使用して/のように見えるルートファイルシステムにシェルを作成し、残りの
mount -a
パーティション(特に/boot、/boot/EFI)をマウントします。 - 今、私は以前のCentOSのインストール作業をしています。可能な限り centOS を更新してください。
- blivet-guiを使用して、新しいSSDに必要なパーティション(/、/boot、...)を再作成します。インストールして内容をコピーしてみてください。
- 同じ
chroot
トリックを使用しますが、新しいSSDターゲットを使用してください。 - chroot で実行して
yum reinstall kernel
initramfs を再生成します。 - /boot/efi/EFIがインストールされていることを確認してください。
- chrootの実行中
grub2-mkconfig -o /boot/efi/EFI/redhat/grub.cfg
- chrootで次のコマンドを実行して、
yum reinstall grub2-efi grub2-efi-modules shim
新しいSSDにブートローダをインストールします。
これにより、システムを新しいハードウェアから正しく起動できます。しかし。既存のCentOS 7が新しいハードウェアで実行されるという保証はありません。
2つのオプション:
- 最新のCentOSまたはFedoraにアップデート
- 仮想マシンのファイルシステムイメージで古いCentOSを実行する
答え2
あなたのホームサーバーに非常に古いカーネルは、輝く新しいRyzenシステムから起動すると、多くの問題の原因になると確信しています。
私はLinuxがハードウェア間でシームレスに移動できると思いますが、前提条件としてソフトウェアは両方のハードウェアと互換性があるはずです。
アップグレードを試すことができます。スタート新しいハードウェアに移動する前にシステムを確認してください。