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


25

Live CDに入って、ターミナルをアクティブにしました。次に、gksu nautilusルートディレクトリに一時的にアクセスするために入力しました。Managerウィンドウが開いたら、File Systemをクリックして/etc/default/grubディレクトリに移動しました。次に、Grubファイルをダブルクリックして、TIMEOUTとに変更を加えましたTIMEOUT_QUIET

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

gksu update-grub

私が得たエラーメッセージは:

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

この時点で何をすべきかわかりません。update-grub変更を更新するにはどうすればよいですか?よろしくお願いします。私はこの環境をまったく知らないので、あなたの反応を非常に詳細かつ具体的にしてください。

回答:


24

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

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

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

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

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


ご返信ありがとうございます。私が解決しようとしている元の問題は、grubメニューを開くことができないことです。そのため、grub構成ファイルにアクセスして変更を加えるには、Live CDを使用する必要があると考えました。TIMEOUTを10に、TIMEOUT_QUITをtrueに変更すると、Grubメニューにアクセスできることを読みました。システムを起動するときに、Shiftキーを押したままにします。「GRUB MENU」という言葉がほんの一瞬だけポップアップします。そのため、Live CDを使用してターミナルにアクセスできなくても、GRUB構成ファイルを変更する方法がわかりません。これを達成する方法に関する提案はありますか?
-newbietoubu

jeroenはこれに直接答えたと思います。おそらく、grubでgrubメニューを変更しようとしていますか?
pfeiffep

2
私の改良されたアンサーをご覧ください。
jeroen

6

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


4
良い情報、だろうがまた、彼は、彼が望んで変更することができます方法を知っているしたいとOP /etc/default/grub、その後にupdate-grub
chaskes

2

インストールされたUbuntu DistroのライブCDからupdate-grubを実行できます(これは[debianベース?]のLinuxディストリビューションでも動作すると仮定しています。ドライブのクローンを作成し、すでに新しいドライブをコンピュータにインストールしている場合は、それらをまったく気にしません。ある意味でupdate-grubステップはそのサブセットであり、アプローチは同じなのでまた、この方法は、クローン作成のコンテキストでの検索を通じて発見されました。クローン作成していない場合は、必要なものをそこから取り出すことができ、プロセスが簡素化されます。

ここでこれを修飾する必要があります。重要なのは、クローン作成のためであり、update-grubを行うためだけではありません。これはBIOSシステムでのみ行っています。UEFIシステムでは試していません。UEFIシステムでは、ブートロードのためにFATパーティションが必要です。このパーティションがコピーコピー手順中に乗って来るかどうかはテストしていません。ライブセッション中にネイティブのgrub環境を合成する必要な[バインド-]マウントに影響を与えると思います...

これについては、http//frugaltech.happystoic.com/ssdlinuxのページで詳しく説明しています。私はこの方法を何度も使用しましたが、これを使用して広告を無限にハードドライブに交換できます。物理的なハードドライブを交換することは、このように非常に簡単になります。

以下は、あなたがそこにあるものの役に立つ言い換えかもしれません:

  1. Ctrl+ Alt+ TBashターミナルの場合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プロンプトから行ごとに入力できます。

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

  5. /dev/sdX永久インストール(または、マルチドライブ[マルチブート]システムの場合はGRUBをホストするドライブ)に対応する(マウントポイントではなく、ドライブ)でgrub-installを実行します。ここでの柔軟性は、ヴィンテージとBIOSに依存する場合があります。私が知る限り、「grub-install」を実行する必要がない場合は何も有害ではないため、このライブセッションメソッドを使用している場合は常に実行します。

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

  7. ハードドライブを物理的に変更していない場合は、(5)に進んでください。それ以外の場合は、/new/linux/filesystem/live-mount-point/etc/fstabファイルを編集または検証して 、[新しい]環境に適したファイルシステム構造を確保します。このレベルにいる場合blkid 、fstabのUUIDを収集するための使用についてはすでに知っています 。

    私見:UUID値のリテラル更新を必要とする程度(例えば、将来のある時点で、/ homeディレクトリなどに追加のHDDをインストールします。これは、最も基本的で堅牢で不変のアプローチです。

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

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

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

おそらく誰かがこれを暴くことができる..?


1
Ask Ubuntuへようこそ! :-) 素晴らしい最初の答え! +1
Fabby
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.