update-grub をどのように実行しますか?

update-grub をどのように実行しますか?

Live CD に入り、ターミナルを起動しました。次に、gksu nautilusルート ディレクトリへの一時的なアクセスを取得するために と入力しました。マネージャー ウィンドウが開いたら、ファイル システムをクリックしてディレクトリに移動しました/etc/default/grub。次に、Grub ファイルをダブルクリックして、および に変更を加えましTIMEOUTTIMEOUT_QUIET

変更を加えた後、ファイルを保存しました。その後、ターミナル モードに戻って次のように入力しました。

gksu update-grub

表示されたエラーメッセージは次のとおりです:

/ のデバイスが見つかりません (/dev はマウントされていますか?)

この時点で何をすべきかわかりません。update-grub変更を更新するにはどうすればいいでしょうか? ご協力をよろしくお願いします。私はこの環境にまったく不慣れなので、ご返答はできるだけ詳しく具体的にお願いします。

答え1

フェーズ 1 - 注意: Live CD を使用しないでください。

  • Ubuntuでターミナルを開きます(Ctrl+ Alt+Tを同時に押します)
  • タイプgedit admin:///etc/default/grub
    テキストエディタが実行されます編集別のものを使用している場合は、 の代わりにその名前を入力してくださいgedit
  • 必要な変更を加えて保存します。
  • gedit を閉じます。
    ターミナルはまだ開いているはずです。
  • ターミナルで と入力しsudo update-grub、更新が完了するまで待ちます。
  • コンピュータを再起動してください。

フェーズ2 - システムにログインした後

  • ターミナルをもう一度開きます(Ctrl+ Alt+ T)。
  • ターミナルに入力gksu gedit /etc/default/grub
  • 起動時に grub メニューを表示するには、
    次の行をコメント化または削除します。GRUB_HIDDEN_TIMEOUT=0
    • コメントするには、#この行の先頭に追加します。結果は次のようになります。#GRUB_HIDDEN_TIMEOUT=0
  • ファイルを保存します。
  • ターミナルで再度実行しますsudo update-grub

起動時に grub メニューを表示することだけが必要な場合は、ファイルへの以前の変更を元に戻す必要があります。

答え2

このメッセージが表示されるのは、Live CD が書き込み可能なファイルシステムをマウントしていないためです。これは、Ubuntu を試用するため、または破損したシステムを修復するためにのみ使用することを目的としています。 の実行は、sudo update-grub基盤となる GRUB ファイルへの書き込みアクセス権を持つインストール済みバージョンの Ubuntu でのみ機能します (Live CD では書き込みアクセス権がありません)。

答え3

インストールされた Ubuntu ディストリビューションのライブ CD から update-grub を実行できます (ただし、これは [debian ベースの?] Linux ディストリビューションであればどれでも機能すると思います)。ドライブをクローンし、新しいドライブをコンピューターにインストールしている場合は、これが「必須」です (他の方法もあるかもしれませんが、この方法を知っているので、それらについてはまったく気にしません)。ここでクローンについて詳しく説明しているのは、ある意味で update-grub ステップがそのサブセットであり、ライブ セッション中のアプローチは同じ基礎を持っているためです。また、この方法は、クローンのコンテキストで検索して発見されました。クローンを作成していない場合は、必要なものを取得でき、プロセスが簡素化されます。

ここで、この点について補足しておく必要があります。これはクローン作成には重要ですが、update-grub を実行するだけには重要ではありません。私はこれを BIOS システムでのみ実行しました。UEFI システムでは試していません。UEFI システムでは、ブート読み込みに FAT パーティションが必要ですが、クローン作成のコピー手順中にこのパーティションがそのまま実行されるかどうかはテストしていません。ライブ セッション中にネイティブ grub 環境を合成するために必要な [bind-] マウントには影響があると思います...

この詳細はこのページに記載されています:http://frugaltech.happystoic.com/ssdlinux私はこの方法を何度も使用しており、これを使用するとハード ドライブを無限に交換できます。この方法を使用すると、物理的なハード ドライブの交換が非常に簡単になるので、これを趣味にしたり、他の人の壊れたコンピューターを修理したりしたくなります。

以下に、そこに記載された内容を簡単に要約します。

  1. Ctrl+ Alt+を実行して、ライブ セッション中にTスーパーユーザー シェル ( ) に入ります。sudo -s

  2. 完全なインストール ドライブ パーティション (永続的な Linux ファイルシステムのルート ディレクトリである (またはルート ディレクトリになる)) をマウントします。

    2a. フルインストールがすでにハードドライブに存在する場合は、(2)に進みます。クローンを作成する場合: [新規インストールを行っていないという前提に基づきます。その場合、これはすべて完全に自動で行われます] フルインストールがこのパーティションにまだ存在しない場合は、ここで

    rsync -a /existing/linux/filesystem/live-mount-point/ /new/linux/filesystem/live-mount-point/ 
    

    [これらのマウント ポイントは、ライブ セッション環境のみに関するもので、Ubuntu では通常、「/media/ubuntu/???」の形式になります] を新しいドライブ [パーティション] にマウントします。

    2b. 他のオペレーティング システムの完全インストールも、ここで同じ方法で処理できます。私は通常、Windows ベースのリソースを使用して、Windows パーティションを新しいドライブに事前に一括コピーしますが、rsync も使用し、Win XP で機能しました (ntfs などの適切なパーティション フォーマットがサポートされていることを前提としています。ライブ セッション メディアには、通常、代替フォーマットのサポートが含まれていると思います)。スペルに注意し、 /ターゲットに完全な名前を付ける場合は、ソース ディレクトリの末尾を使用してください。

  3. ライブ/dev/proc/sysディレクトリを、使用しようとしている [マウントされた] 永続的なフルインストール パーティション上のそれぞれのディレクトリにバインド マウントします。上記のリンクで詳細に説明されているスクリプトは、"for" ステートメントを使用してこれを非常にエレガントに実行します。また、指定されたスクリプトは、スクリプトとして実行する必要はありません。bash プロンプトから 1 行ずつ入力できます。

  4. chroot永続的なフルインストール パーティションに。 (3) と (4) を実行すると、システムは「最終的なファイルシステム」に「事実上常駐」し、GRUB は均一に機能します。これらの手順を実行しないと、GRUB はシステムが単なるライブ セッションであると想定します。その場合、具体的に何が行われるかはわかりませんが、このスレッドで上記で言及したように、望ましい結果ではありません。

  5. 永続インストールに対応するドライブ (マウント ポイントではありません) (または、マルチ ドライブ [、マルチ ブート] システムの場合は GRUB をホストするドライブ)で grub-install を実行します/dev/sdX。ここでの柔軟性は、お使いの年代と BIOS によって異なります。私の知る限り、必要でない場合は「grub-install」を実行しても害はありません。そのため、このライブ セッション メソッドを使用する場合は、常にこれを実行します。

  6. update-grub を実行すると、実行中のシステムが将来の永続パーティションにネストされているかのように動作し、使用可能なすべてのカーネルと起動可能な OS が検出されます。

  7. ハードドライブを物理的に変更していない場合は、(5) に進みます。そうでない場合は、 /new/linux/filesystem/live-mount-point/etc/fstabファイルを編集または検証して、[新しい] 環境のファイル システム構造が正しいことを確認します。このレベルに達している場合は、を使用して fstab の UUID を収集する方法をすでに知っているはずです blkid

    私見ですが、fstab では常に UUID を使用する必要があります (「dev/sdXY」形式ではありません)。これは、UUID 値の文字どおりの更新が必要になる場合 (将来のある時点で /home ディレクトリに追加の HDD をインストールする場合など) を除き、物理的なハード ドライブの再構成の影響を受けないためです。これは、最も基本的で堅牢かつ不変のアプローチです。

  8. chroot を終了し、supershell を終了し、bash を終了し、シャットダウンして、ライブ メディアなしでシステムを起動します。これで、目的の場所に到達できるはずです。

    mount 重要な注意:および の引数は、 ライブ セッションに対応するディレクトリ (通常はまたはchrootなどのマウント ポイント) です。ほとんどの場合、完全インストールは独自のパーティションに存在するため、ここでは「ディレクトリ」と「マウント ポイント」という用語は基本的に同義です。grub-install の引数は物理ドライブ (通常は、ここで「X」はシステム内のドライブに対応する文字、sda、sdb などであり、セッションに依存しません) です。/mnt/??/media/??/dev/sdX

これで完了です。私はこの方法を使用して、Ubuntu および Puppy と並行して、さまざまな組み合わせの Windows (XP および 7) を同時にクローンしましたが、失敗したことはありません。使用する予定の GRUB のバージョンが提供されている限り、別のディストリビューションのライブ メディアを使用できると思います (ただし、このためにさまざまな Ubuntu フレーバーと Mint のみを使用しました)。これを使用して、パーティションを移動したり、ドライブを交換したり、他の OS インストールを組み合わせたり、SSD との間でクローンを作成したりできます。ただし、同じマシンで動作することしか話せません。別のマシンに必要なドライバーは、以前の完全インストール中にスキップされた可能性があります。私の経験則では、コンピューターのドライブを切り替えるにはこの方法が必要ですが、ドライブのあるコンピューターを切り替えるには完全な [再インストール] インストールが必要です。

おそらく誰かがこれを論破できるでしょうか?

関連情報