RAIDを担当するハードウェアが破損して交換された後、正しくブートが停止したサーバー(SUSE Linux Enterprise Server)を修理する必要があります。
次のメッセージが表示され、起動プロセスが中断されました。
Waiting for device /dev/disk/by-id/scsi-360{...}-part1
構造システムを実行するためにSLES 11のライブISOを見つけようとしましたが、12〜15個しか見つかりませんでした。だからバージョン15をダウンロードし、そこから救助システムを実行しました。
ここで見つかった scsi ID (エラーと同じ) が /dev/disk/by-id/scsi-..... のものと異なるため、fstab が正しくないことがわかります。
この問題を解決するために見つけた内容によれば、fstabを正しいIDまたはパーティション名(sda、sdb ...)に手動で変更することで問題が解決します。それで、パーティション名を変更し(ここでディスクIDだけを入力する必要がありますか?)、Web上の指示に従い、非常に間違ったことをしました。 fstabを変更した後に実行する必要がありますgrub-install --root-directory=/mnt /dev/sda
が、SLE 15でLive USBを使用しているため、grubは使用できず、grub2のみが使用できます。だから、 grub2-install を実行します。これで grub Legacy とともに grub2 がインストールされます。今すぐ起動しようとすると、 grub エラーが発生します。Welcome to GRUB! error: disk 'hd1,msdos1' not found. Entering rescue mode...
今、問題がどこにあるのかよくわかりません。幼虫が二匹あったのでしょうか? (そうだと仮定します。) もしそうなら、私の計画は grub2 を削除してこれを実行することです。ツールUbuntuライブペンを試してみてください。しかし、grub2を削除する方法は?
それとも問題が別の場所にありますか?
/disk/by-id/ の代わりに /dev/sdx を使用するように変更した後の fstab です。
Unixの専門家の助けを求めてください。
私が確認したblkidsに対応するパーティションを取得するには(ここにいくつかの不正確さがあるかもしれませんが、Ubuntu Live USBを使用してパーティションを閲覧することができたので正しいようです...)
chroot を使用して grub 構成ファイルを確認します。
修正する:
mkinitrdを実行するとエラーが発生します。 (
Root device(/dev/sda1) not found
sdXのすべての参照をby-idに変更すると、同じ問題が発生し、partition-idと同じエラーが表示されます。)
実行すると、yast bootloader
コンソールの更新が停止します。 Ctrl+C を押した後も同様です。しかし、「restart」と入力しましたが、うまくいったので、入力を続けます。
答え1
あなたの話を見ていますが...
起動プロセスは次のメッセージで中断されます:/dev/disk/by-id/scsi-360{...}-part1デバイスを待っています
Linuxでファイルシステムをマウントする方法はいくつかあります。
- 名前別(例:/dev/sda)
- あなたの質問のようなby-id
- タグ別、分割タグセットを含める
- もう1つか2つがあります。興味がある場合は、お問い合わせください。
私の考えでは、説明しない多くの問題を避けるために、idまたはuuidでマウントすることをお勧めします。ただし、状況が変わったときにscsi-idを更新することを忘れた場合は、簡単に失敗する可能性があります。 新しいRAIDコントローラは既存のボリュームに異なるscsi-idを提供しますが、これは問題です。
by-name
1つのディスクまたは1つのRAIDボリュームしかない限り、インストールは安全です。それではいつもそうでしょう/dev/sda#
。だから私の提案は
- 起動ディスク以外のすべてのディスクを取り外します。
- オペレーティングシステムには1つのブートディスクまたはRAIDボリュームしかありません。他のすべてのディスクからケーブルを一時的に外します。
- これは、ブートパーティションがOSルートパーティションと同じディスクまたはRAIDボリュームにあると想定します。技術的には、ブートパーティションをルートパーティション以外のディスクに配置することができますが、妥当な理由がなければそれをしたくありません。 。
- マウントされたルートパーティションとスワップ
/etc/fstab
のみを参照するようにファイルを編集します。/dev/sda
技術的には、fstabに起動またはefiパーティションは必要なく、起動の要件もありません。最初の写真で見ると誤字だと思いますがsdd1
、swap
そうですかsda
?sdd
別のディスクだからですsda
。技術的に起動してシステムを実行するためにスワップをインストールする必要がないため、正しいパーティション番号を持つ/dev/sda# / defaults 0 0
1つのルートパーティションだけでルートパーティションをマウントできます。#
- SLES 11は次の点で素晴らしいです。エリヨGRUBまたはGRUB2の代わりに。 eliloを使用していることがわかっている場合は、次のことを行う必要があります
elilo.conf
。ブートパーティション以下よりも/etc/
。ここでは、古いパーティションと無効なパーティションscsi-idを介して呼び出されたブートパーティションへの参照を見ることができます。/dev/sda#
ディスク(またはRAIDボリューム)が1つしかないように、簡単に変更できます。ここで、#は正しいパーティション番号(通常1)です。同じアイデアや原則がグラブにも当てはまります。 grubのディスクのscsi-idへのすべての以前の参照を変更する必要がありますsda
。これで、システムを起動し、すべてのものについて新しいscsi-idを認識して更新します。 elilo.conf または grub ファイルと/etc/fstab
。
splash=silent
に変更することを検討してくださいsplash=verbose
。
ライブブートCDと写真を使用して正しい情報を表示したので、/dev/disk/by-id
技術的にすべての内容を入力できますが、dev/sda#
最初に入力してからコピーして貼り付ける方が簡単です。
最後の写真にはと書かれていますroot = /dev/disk/by-id/blabla
。ディスク固有のIDで示されているすべての場所で/dev/sda#
aがある場合は、に変更し、part1
#= 1、part2
#= 2などに変更します。 sles 11のgrubコマンドが「私を編集しないでください」とマークされたmenu.lstの編集に加えて、適切なアップデートをどのように実行するのかわかりません。ブートパーティションでmenu.lstを手動で編集することができ、今は機能しますが、新しいカーネルアップデートが発生すると、グローバルgrubテンプレート(おそらく/ etc以下)を参照するため、この問題が再発生します。申し訳ありません。私はRHEL7でのみ知ってgrub2-mkconfig
編集します/etc/default/grub.conf
。 sles11 で grub または grub2 にどのプログラムが使用されているかを調べる必要があります。