web-dev-qa-db-ja.com

Kaliを永続的に実行してUSBライブのブートカーネルを変更する方法

まず、私が抱えている問題は、Kali2.0でVirtualBoxを実行できないことです。

当時4.6.0-kali1-AMD64カーネルを備えていたKali2.0を実行する永続性を備えたUSBライブをセットアップしました。私はそれ以来、すべての推奨ソースを使用して更新/アップグレード/ dist-upgradedなどしています。この一環として、インストールされた新しいヘッダー/カーネルは4.9.0-kali4-AMD64です。ただし、起動後も、uname -rとvboxによってスローされたエラーによって確認されるように、カーネルは4.6.0です。 USBライブブートにはGRUBブートローダーがありませんが、通常GRUBを設定する必要があることはわかっています。

Virtualboxによってスローされたエラーは、4.6.0カーネルに適したドライバーが見つからなかったこと、およびシステムがドライバーを動的に作成するように設定されていないことを示しています(これは、ドライバーが4.9.0、ただしこれは実行中のカーネルではありません)。

1
Micfireball

私のライブシステムのインストール方法またはlive-toolsがマウントされたパーティションを処理する方法のいずれかのバグにより、live-update-initramfsは/ lib/live/mount/medium /を参照するため、この特定のケースでは機能しません。これはマウントポイントではありませんでしたが、usbライブデバイスのルートとして(そしてusbデバイスから3つのパーティションが必要です)。

マウント/アンマウントなどをいじる代わりに、update-initramfsを使用してinitrd.imgファイル(欠落していた)を作成し、これを非ライブLinuxディストリビューションから手動でライブフォルダーに移動することができました。

/usr/sbin/update-initramfs.orig.initramfs-tools -c -k 4.9.0-kali4-AMD64

これにより、イメージが作成されます。 vmlinuz-4.9.0-kali4-AMD64はすでに利用可能でした。私の非ライブdist内から、USBを挿入します。

  1. 最初に、initrd.imgとvmlinuzをUSBの/ liveフォルダーからデスクトップ(バックアップ用)に移動しました。
  2. 次に、initrd.img-4.9.0-kali4-AMD64とvmlinuzを、usbの永続性rwルートフォルダーから/ liveフォルダーにコピーしました。
  3. これらの名前をinitrd.imgとvmlinuzに変更し、再起動しました。ボイラ

-貢献してくれたJeffS。に感謝します。

2
Micfireball

永続性USBインストールでもライブカーネルが更新されないことを発見しました。これはバグではなく、設計によるものです。 grub構成もカーネルも、使用したISOからUSBを最初に作成したときから変更されています。

ただし、リリースバージョンと比較して最新のカーネルアップデートが存在するため、毎週のKali ISOを使用してライブパーティションを上書きできます。これにより、カーネルとGrub構成が(他のすべてとともに)置き換えられます。

これはライブブートパーティションのコンテンツを更新するだけなので、永続パーティションは変更されず、問題ないはずです。

https://cdimage.kali.org/kali-images/kali-weekly/

ライブパーティションを更新する前に、通常の更新コマンドを実行して、最新のカーネルファイルが永続化パーティションに存在することを確認することをお勧めします。

apt update && apt full-upgrade
1
James White

@ithinライブ永続性、実行:

mkdir /lib/live/mount/medium    
mount /dev/sdxx (live usb stick) /lib/live/mount/medium    
live-update-initramfs -u

編集/dev/sdxx/boot/grub/grub.conf ---> initrd.img

0
Son Nguyen

既存のISO9660ベースのライブオペレーティングシステムはいずれもカーネル更新機能を提供しません。カーネルとinitrdは、データ永続パーティションの外部にあるため、ライブオペレーティングシステムが更新できない唯一のコンポーネントです(存在する場合)およびシステムパーティションは、前述のとおり、ISO9660形式です。

Read the Docsのlivengホワイトペーパーは、あなたが尋ねたことを達成する方法を示しています:

Livengプロジェクトの完全な目的は、一般的なDebian Linuxライブを次の機能を備えたライブ(ng)オペレーティングシステムに変えるための一連のベストプラクティスをコミュニティに提供することです。

native encrypted persistence;
kernel update (on a live ISO 9660 filesystem!);
UEFI, with UEFI Secure Boot compatibility, with a real efi partition.
0
Happy Penguin