web-dev-qa-db-ja.com

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

Live CDに入って、ターミナルをアクティブにしました。次に、gksu nautilusと入力して、ルートディレクトリに一時的にアクセスしました。マネージャーウィンドウが開いたら、[ファイルシステム]をクリックして、/etc/default/grubディレクトリに移動しました。次に、Grubファイルをダブルクリックして、TIMEOUTTIMEOUT_QUIETを変更しました。

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

gksu update-grub

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

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

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

24
newbietoubu

フェーズ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メニューを表示するには、
    次の行をコメントまたは削除します:GRUB_HIDDEN_TIMEOUT=0
    • コメントするには、この行の先頭に#を追加すると、結果は#GRUB_HIDDEN_TIMEOUT=0になります
  • ファイルを保存します。
  • 再びターミナルでSudo update-grubを実行します。

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

23
jeroen

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

6
Aaron

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

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

これはこのページで詳しく説明されています: http://frugaltech.happystoic.com/ssdlinux 。私はこの方法を何度も使用してきましたが、それを使用してハードドライブを広告無限に交換できます。このように物理ハードドライブを交換することは非常に簡単になり、自分の趣味にしたり、他の人の台無しになったコンピュータを修正しようとする誘惑に駆られます。

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

  1. Ctrl+Alt+T Bashターミナルの場合、ライブセッション中にスーパーユーザーシェル(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で機能しました(正しいパーティション形式をサポートしている場合) as ntfs;ライブセッションメディアには、通常、代替形式のサポートが含まれると思います)。ターゲットの名前を完全に指定する場合は、スペルに注意し、ソースディレクトリで末尾の/を使用してください。

  3. ライブ/dev/proc、および/sysディレクトリを、使用する[マウント済み]永続フルインストールパーティションのそれぞれのディレクトリにバインドマウントします。上記のリンクで詳述されているスクリプトは、「for」ステートメントでこれを非常にエレガントに実現します。また、指定されたスクリプトは、それ自体がスクリプトとして実行される必要はありません。 bashプロンプトから行ごとに入力できます。

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

  5. 永久インストールに対応する/dev/sdX(マウントポイントではなく、ドライブ)でgrub-installを実行します(または、マルチドライブ[、マルチブート]システムの場合はGRUBをホストするドライブ) 。ここでの柔軟性は、ヴィンテージと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