web-dev-qa-db-ja.com

Windowsパーティション上のファイルにUbuntuをインストールします(Wubiインストーラーと同様)。

NTFS WindowsパーティションのファイルにUbuntuをインストールしています。

これは非常に簡単です。

disable safe boot in bios
you might also need to set AHCI SSD interface access
boot and run live cd

端末を開き、ルートとして

#mount ntfs partition
mount -t ntfs /dev/nvme0n1p3 /mnt
#create installation folder
mkdir /mnt/ubuntu
#create virtual drive
mknod /dev/sdx b 7 100
#create virtual disk image
dd if=/dev/zero of=/mnt/ubuntu/ubuntu.img bs=1G count=256
#link the virtual drive to the virtual disk image
losetup /dev/sdx /mnt/ubuntu/ubuntu.img

別のディスクのように/ dev/sdxにubuntuをインストールします。

一般的な問題:

/dev/nvme0n1p3 not showing up - these are related to bios settings
mount -t ntfs /dev/nvme0n1p3 /Host fail to mount - windows partition can be encrypted, so disable from windows (no need to format or reinstall windows)

新しい環境から起動するには、grub configを使用します。

### BEGIN /etc/grub.d/10_linux ###
menuentry 'ubuntu' {
        rmmod tpm
        loopback loop (hd0,gpt3)/ubuntu/ubuntu.img
        root=(loop)
        linux /boot/vmlinuz-generic root=/dev/sdx rw verbose nosplash
        initrd /boot/initrd.img-generic
}
set timeout_style=menu
if [ "${timeout}" = 0 ]; then
  set timeout=10
fi
### END /etc/grub.d/10_linux ###

rmmod tpmによりマウントループがハングする(grub 2.04)

古いバージョンでは、ntfsドライバーをロードする必要がありました(grub 2.02):modprobe ntfs

これは実際にブートプロセスをinitramfsシェルにドロップします

この時点で、イメージをロードするコマンドを手動で追加する必要があります

#create mount point needed by initramfs image
mkdir /Host
#mount ntfs partition
mount -t ntfs /dev/nvme0n1p3 /Host
#create virtual drive
mknod /dev/sdx b 7 100
#link the virtual drive to the virtual disk image
losetup /dev/sdx /Host/ubuntu/ubuntu.img
#continue boot up
exit

これは、initramfsスクリプトに簡単に追加できます。

私の質問は、この機能をUbuntuに追加できるかどうかです。

私はそれが簡単でとても便利だと思います。ネイティブ環境でubuntuを起動できますが、仮想ディスクイメージのようにイメージを移動することもできます。インストールを移動するには、別のインスタンスで同じ手順を実行し、古いインスタンスからubuntu.imgファイルをコピーして、新しいインスタンスで上書きするだけです。

ありがとう、Razvan

3
razvan becheriu

はい、機能リクエストを https://bugs.launchpad.net/ubunt で開くことができ、24時間以内に確認する必要があります。

1
Andrei Pavel