再起動せずにシングルユーザーモードにする方法はありますか?


8

昔のUNIXと同じように、コマンドを送信するだけでinit、シェルを使用して黒いテキスト画面を自分の目で確認できます。;)


10.11.6から10.14.2までのさまざまなバージョンのOS X / macOSを使用して何時間もテストした後、SIPが有効な場合とない場合で、物理マシンと仮想マシンが異なると、数十回に1回もsudo launchctl reboot userspace -s成功したユーザースペースが形成されなかったリブート!簡単に言えば、ドキュメントのソースに関係なく、前述のコマンドは機能せず、機能しません。したがって、この質問への回答が受け入れられたという事実に関係なく、私はそれが機能することを見つけ
user3439894

私の答えは、「El Captianでテスト済み」と正確に述べており、それが機能します。回答は現在大幅に編集されていますが、これは変更履歴にまだあります。簡単に言えば、それが他の何かで機能するとは言わなかった
1

1
El Capitan、Sierra、High Sierra、Mojaveでテストしました。sudo launchctl reboot userspace -sGUIを使用しているときに、ターミナルからの正常で使用可能なユーザースペースの再起動を実行した例はありません。時間、労力、労力を費やしただけでなく、反対票を投じた正当な理由も表明したことを尊重してください。もちろん、そうする義務はありません。El Capitan以降を実行しているMacBook Pro、iMac、MacBook Airの3つの異なるAppleシステムでは、ここまたはドキュメントで宣伝されているように動作しませんでした。AFAIC私にとって、物語の終わり。
user3439894

私のために働いた。ここに:15.6.0 x86_64 root:xnu-3248.73.11~1/RELEASE_X86_64 x86_64。何を尊敬していますか?:)または、あなたが尊敬について話すなら、私の言葉に対する尊敬はどこですか :)
1

回答を編集しました。ビデオの録画について考え、YouTubeにアップロードする。;)
poige

回答:


5

必要に応じて、ログインウィンドウを変更してユーザー名を尋ね、> consoleをユーザーとして入力してみてください。

これは10.10で削除された可能性が高いため、このレガシーの初期タイプのバイパスが目的のものでない場合は、起動してリカバリするか、sshで起動するか、ターミナルアプリを使用する必要があります。

また、これは真のルートシングルユーザーモードではなく、最新のmacOSの起動プロセスの初期段階で実行する必要があります。


私の質問に対する本当の答えを見つけたようです。チェックして返信します
poige

@poige確かにMojaveで動作させることはできません(ただし、デフォルトの書き込みをいじりませんでした。)自分の答えを自由に編集して、希望どおりにすることも、テストしたら、より明確な答えが最善の場合は自己回答にすることもできます。 。
bmike


>再起動せずに、起動したOSからシングルユーザーモードに移行するための文書化された方法はありません。それは虚偽の主張です。
1

こんにちは@poigeシングルユーザーモードとは何か混乱があるかもしれません。1人があなたの回答に賛成票を投じ、5人が反対票を投じました。他に何か追加することがあれば、自由に新しい答えを出してください。そのウィキペディアは、macOSでのシングルユーザーモードはプリブートでのみ発生するため、シングルユーザーと見なすものとは異なる意味を持つことを私はオープンにしています。お手伝いできるかどうか知らせてください
bmike

3

理論

一言で言えば、man launchctlカーネルを再起動せずにシングルモードにそのような切り替えを行う方法が文書化されています。たとえば、ターミナルウィンドウからSHELLコマンドを使用して展開できます。

sudo launchctl reboot userspace -s

練習

エルキャピタン

El Capitanで動作するMacbook Air 2015でテストしました。しかし、ユーザーからの報告によると、エルキャピタンに対する彼の試み​​は成功しなかった。私が考えることができる唯一の違いは、異なるグラフィックスモードなどを必要とするRetinaです。私は、El Capitanを実行しているRetinaを搭載したMacbookを持っていないので、当面は、そのようなバージョンをサポートすることについてこれ以上何も言えません。

ハイシエラ、モハベ

High Sierraでの私の試みは、この機能が(El Capitanと比較して)機能していないことを示していました。繰り返しますが、それは網膜によるものかもしれませんが、明確ではありません。Mojaveも機能していません。


投稿者による徹底説明¹

実行して完全な再起動を行わずに、アップおよび実行中のmacOSからシングルユーザーモードに戻す方法があります。

sudo launchctl reboot userspace -s

これにより、Darwinカーネルを再起動せずにmacOSのユーザースペース部分のみが再起動されます。これは、昔のUNIXでランレベルを変更することと同じです。

詳細については、以下を参照してくださいman launchctl

reboot [system|userspace|halt|logout|apps|reroot ]
    Instructs launchd to begin tearing down userspace. With no argu-
    ment given or with the system argument given, launchd will make
    the reboot(2) system call when userspace has been completely
    torn down. With the halt argument given, launchd will make the
    reboot(2) system call when userspace has been completely torn
    down and pass the RB_HALT flag, halting the system and not ini-
    tiating a reboot.

    With the userspace argument given, launchd will re-exec itself
    when userspace has been torn down and bring userspace back up.
    This is useful for rebooting the system quickly under conditions
    where kernel data structures or hardware do not need to be re-
    initialized.

    -s       When rebooting the machine (either a full reboot or
             userspace reboot), brings the subsequent boot session
             up in single-user mode.

これは、技術レベルでsudo launchctl reboot userspace -sは呼び出せないreboot(2)ため、再起動せずにシングルユーザーモードに切り替える方法を提供することを意味します。

また、シングルユーザーモードに関するウィキペディアの記事によれば、

OS X El Capitan以降のmacOSリリースではsudo launchctl reboot userspace -s、ターミナルのコマンドを使用してモードをシングルユーザーモードに戻すことができ、コマンドを使用してシステムをシングルユーザーモードで完全に再起動できますsudo launchctl reboot system -s


1 — @ nohillside提供

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.