0

私はいくつかのオンラインガイドに従って、Macの起動/シャットダウン時にヘッドレスVMを自動的に起動/一時停止させようとしました。まったく動作しません。スタートアップ/シャットダウンでスクリプトを実行するのはこれが初めてなので、非常に基本的なものが不足している可能性があります。その場合は、お詫び申し上げます。

これらは私が従ったステップです:

  • ディレクトリを作成しました/Library/StartupItems/HeadlessVM
  • そのディレクトリ内に2つのファイルを作成しました。

    -rwxr--r--  1 root  wheel  242 Feb 19 19:05 HeadlessVM
    -rw-r--r--  1 root  wheel  188 Feb 20 12:42 StartupParameters.plist
    

    HeadlessVMのコンテンツ

    $ cat HeadlessVM
    #!/bin/sh
    
    . /etc/rc.common
    
    StartService () 
    {
        ConsoleMessage "Starting HeadlessVM"
        /usr/local/bin/runvmheadless
    }
    
    StopService () 
    {
        ConsoleMessage "Suspending HeadlessVM"
        /usr/local/bin/suspendvmheadless
    }
    
    RunService "$1"
    

    StartupParameters.plistのコンテンツ

    $ cat StartupParameters.plist
    {
      Description     = "Runs/Suspends Virtual Machine Headless on OS X Startup/Shutdown";
      Provides        = ("HeadlessVM");
      Uses            = ("Disks");
      OrderPreference = ("Late");
    }
    
  • 両方のアクションを実行するスクリプトファイルを作成しました。

      -rwxr-xr-x@ 1 xxxxxxx  admin  164 Feb 19 01:06 runvmheadless
      -rwxr-xr-x@ 1 xxxxxxx  admin  160 Feb 19 01:19 suspendvmheadless
    

    runvmheadlessのコンテンツ

    $ cat runvmheadless
    #!/bin/bash
    "/Applications/VMware Fusion.app/Contents/Library/vmrun" -T fusion start "/Volumes/Archive/Virtual Machines/vm.vmwarevm/vm.vmx" nogui
    

    suspendvmheadlessのコンテンツ

    $ cat suspendvmheadless
    #!/bin/bash
    "/Applications/VMware Fusion.app/Contents/Library/vmrun" -T fusion suspend "/Volumes/StaticData/Virtual Machines/vm.vmwarevm/vm.vmx"
    
  • これまでの私のトラブルシューティング:

    • ターミナルからスクリプトを実行すると、意図したとおりに機能します。
    • 私が実行するsudo /sbin/SystemStarter (start or stop) "HeadlessVM"と、それも動作します。
    • コンソールでは、再起動したときに次のように表示されるだけで、何が問題なのかわかりません。

      2/20/12 12:11:09.128 PM SystemStarter:OS Xの起動/シャットダウン(100)で仮想マシンヘッドレスを実行/一時停止しましたが正常に完了しませんでした

助けに感謝します、ありがとう。

4

1 に答える 1

0

何が悪かったのかわかりました。上記のコードは問題ありません。問題は、スクリプトが、起動時に利用できなかった暗号化されたセカンダリディスクからデータを取得しようとしていることです。

この問題を回避するためにこれを使用しました:https://github.com/jridgewell/Unlock

ありがとう

于 2012-02-26T04:21:51.043 に答える