web-dev-qa-db-ja.com

はんだ付けしたRAMモジュールがセルに損傷を与えた)ラップトップにUbuntuをインストールする方法

数年前に購入したAsus K550Vノートブックを持っていますが、保証の対象外です。このコンピューターには8 GBが搭載されていますRAM=メインボードにはんだ付けされていますが、RAMモジュールにいくつかの損傷したセルがあります。Windows10 Proがプリインストールされているため、常にブルースクリーンになり、再インストールすらできません。破損したRAMセルを使用する必要がないことを指定してUbuntuをインストールできることをネットで読んだので、このOSをインストールすることにしました。実際、私はLinuxの世界ではかなり新しいので、は、Ubuntuをインストールするためのステップバイステップのガイドであり、不良RAMセルの使用を回避するように指定しています。19.04リリースをすでにダウンロードしており、ブート可能なフラッシュドライブを作成しています。ありがとう

17
filograndipad2

:Ubuntuのインストールヘルプについては、 こちらをご覧ください。

:ほとんどのハイエンドコンピュータサービスショップは、欠陥のある8Gを交換できますRAMチップを最小限のコストで、そしてそれは確かにより信頼できるでしょう。


/etc/default/grubを確認すると、GRUB_BADRAM=パラメータが見つかります。このパラメータを使用すると、メモリの不良な場所を特定できます。

# Uncomment to enable BadRAM filtering, modify to suit your needs
# This works with Linux (no patch required) and with any kernel that obtains
# the memory map information from GRUB (GNU Mach, kernel of FreeBSD ...)
#GRUB_BADRAM="0x01234567,0xfefefefe,0x89abcdef,0xefefefef"

Grub2のBADRAM設定

GRUB2構成ファイル ナッティに カーネル不良RAM除外を構成するための行があります。だから、私はそれがエラーを示しているメモリのセクションをマッピングする好ましい方法だと思います。私が設定したラインは

GRUB_BADRAM="0x7DDF0000,0xffffc000" 

私が見つけたすべてのWebサイトで推奨されている方法は、これを設定してmemtest86を実行し、BadRAM設定を表示することでした。 memtest86は、入力しなければならないもののページをくれました。すべてのアドレスが1つの16Kブロック内にあることがわかりました。そのため、その16Kブロックを動作しないようにマッピングしたいと思いました。これが正しいエントリを生成する方法です。

最初のパラメーターは簡単です。これが不良メモリのベースアドレスです。私の場合、すべての不良アドレスが0x7DDF0000より大きく、0x7DDF4000より小さいことがわかりました。そこで、16Kブロックの先頭を開始アドレスとして使用しました。

2番目のパラメーターはマスクです。必要なアドレス範囲が同じ値を共有する場所に1を置き、変化する場所に0を置きます。つまり、下位ビットのみが変化するようにアドレス範囲を選択する必要があります。私の住所を見ると、マスクの最初の部分は簡単です。あなたは0xffffから始めたいと思います。次のニブルについては、ビットマップで説明します。 0000から0011の範囲にしたいので、badramのマスクは1100またはヘクスcになります。範囲全体をマッピングしたいので、最後の3ニブルはマスクですべて0にする必要があります。したがって、合計結果は0xffffc000になります。

この行を/etc/default/grubに設定した後、Sudo update-grubを実行して再起動すると、不良メモリが使用されなくなりました。この方法を使用して不良メモリをマップするためにカーネルパッチは必要ありません。

ソース: https://help.ubuntu.com/community/BadRAM#BADRAM_setting_in_Grub2

更新#1:

使用しているシステムにすでに(a)メモリの不良がある場合、2つのオプションがあります。 パッチをビルドするまで一時的に良いメモリを入れてください b)メモリエラーが下位メモリに表示されない場合は、「mem = ## MB」カーネルオプションを追加して、そのポイントより上のメモリを一時的に無効にすることができます。例:memtest86によると、メモリスティックに315MBから325MBのエラーがあります。 「mem = 314MB」を追加することで、カーネルに314MBしかないふりをするように指示します。私のシステムはパッチを構築するのに十分安定しています。この時点でパラメーターを渡して、315MBから325MBの間のセクションのみをスキップできます(これにより、502MBの使用可能なメモリが提供されます)。

ie:Ubuntu LiveをGRUBメニューで起動し、 e 編集モードに入るには、矢印キーを使用して「静かなスプラッシュ」を見つけ、「静かなスプラッシュmem = 2048MB」に変更します。 CTRL+x または F10 起動を続行します。

更新#2:

memtest86を取得するには、 https://www.memtest86.com/ にアクセスし、無料のmemtestをダウンロード/実行してメモリをテストします。すべての4/4テストの少なくとも1つの完全なパスを取得して、良好なメモリを確認します。完了するまでに数時間かかる場合があります。

更新#3:

あなたの悪いRAM=がどこにあるかによって、問題が発生する可能性があります。PeterCordesが良い考えを持っています。HDDを取り外します。それを別のコンピュータに入れます。Ubuntuをインストールします。GRUBを変更します。次に、 HDDを元のラップトップに接続します。試して起動してください。

41
heynnema

(おそらく[tab]またはe)を使用してインストーラーコマンドラインを編集し、 memmapカーネルコマンドラインパラメーターmemmap=nn[KMG]$ss[KMG][,nn[KMG]$ss[KMG]]として設定して、壊れた領域はあなたのために働くかもしれません!これはインストール中にかなり広範囲に設定される可能性があると思います。

注GRUB2は$を消費するため、エスケープする必要があります\$

memmap=64K\$0x18690000,3G\$4G

または、@ではなく$を使用して有効なリージョンを指定します。これは、複数のリージョンを除外するように指定できる(カンマ区切り)ことがドキュメントから完全に明確ではないため、これが必要になる場合がありますが、これは含めるために明示的に説明されています。ただし、これは一流のユースケースのように思えるので、複数の除外が機能するのではないかと思います。

インストール後にGRUB2を使用すると仮定すると、インストールされているシステムのGRUB_BADRAM=パラメータを設定して、GRUB2が期待する方法でパラメータを維持することができます @ heynnema

0
ti7