web-dev-qa-db-ja.com

2パーティションUSBドライブでのライブUSB

USBドライブに2つのパーティションを作成して、通常のUSBインストールディスク(パーティション1)としてキーを起動できるようにし、Windows/Ubuntuの下の通常のストレージ用の別のパーティション(パーティション2)を作成できるかどうか疑問に思いました。私はディスクを持ちたい:

/dev/sdb (16GB)
 - sdb1 : ext4/fat32, LiveUSB (2GB)
 - sdb2 : fat32, storage (14GB)

そのキーを起動し、通常のUSBドライブとして使用できますか?

PS:それは、PCをレスキューする必要があるたびにUSBドライブにUbuntuをインストール/アンインストールすることにうんざりしており、Ubuntu-installation-disk専用のUSBドライブを購入したくないからです。

30
MrVaykadji

はい、USBフラッシュドライブをパーティション分割してUbuntu Liveセッションを起動し、別のパーティションで通常のUSBドライブ(Windowsからアクセス可能)として使用できます。 UEFIとWindows 8.0がインストールされたSony Vaio TシリーズUltrabookラップトップ上の32GB PNY USB 2.0フラッシュドライブでこれを行うことができました。 16TB RAID5 i7-290サーバー上のUbuntuサーバー12.04からもこれをテストしました。

この構成で GParted を使用してUSBフラッシュドライブをパーティション分割しました。

32GB USB Flash Drive GParted

sdh1は、Windowsからアクセス可能な「ストレージ」パーティションです。 sdh2は、Ubuntuデスクトップ12.04ブート可能パーティションです。これらは私のステップでした:

 1. 25 MBの空き容量が先行する新しい10 GB、ntfs、論理パーティションを作成しました 
    0 MBの後にストレージ(がドライブ上にある必要があります) 2.新しい5 GB、fat32、論理パーティションを作成しました、前後に0 MBの 3. 2番目のパーティションのブートフラグを設定します 4.(必要のない他のパーティションを作成しました) 5. UbuntuでブートしましたDVDにロードされ、Ubuntuを試すを選択したライブセッション 
    GRUBメニューからインストールせずに 6. USBフラッシュドライブをプラグインした で起動ディスククリエーターを開きました。7. Ubuntu-Desktop 12.04 Imageおよびpny USB 2.0フラッシュドライブ(/ dev/sdh2)5.0 GB 
    パーティションがすでに選択されているため、ドキュメントを保存するためのスライドの量を移動しました 
    予約済みの追加スペースの設定と[起動ディスクの作成]を選択します

起動フラグを選択しないと、Startup Disk Creatorはフラッシュドライブ全体を、目的の2番目のパーティション/dev/sdhではなく、/dev/sdh2としてのみ認識します。

Windowsパーティションを最初に置くことなく、 リムーバブルメディアビット ...

 "リムーバブルメディアデバイスの設定は、SCSI Inquiry Dataに含まれるフラグです 
sCSI Inquiryコマンドへの応答。バイト1のビット7(0からインデックス付け)は 
リムーバブルメディアビット(RMB)。 RMBがゼロに設定されていることは、デバイスが
リムーバブルメディアデバイス。 RMBは、デバイスがリムーバブルであることを示します 
メディアデバイス。ドライバーは、StorageDevicePropertyを使用してこの情報を取得します
要求。"

... 意味する Windowsには1つのパーティションのみが表示されます:

 "Q。スーパーフロッピーとは何ですか?
 
 A。
 GPTまたはMBRのどちらのフォーマットもないリムーバブルメディアは、「スーパーフロッピー」と見なされます。 
メディア全体が単一のパーティションとして扱われます。 
メディアの製造元は、リムーバブルメディアのMBRパーティショニングを実行します。もし 
メディアにはMBRがあり、サポートされるパーティションは1つだけです。少しだけ 
mBRでパーティション化されたメディアとスーパーフロッピーのユーザーが識別できる違い。 
リムーバブルメディアの例には、フロッピーディスクドライブ、JAZディスクカートリッジ、 
光磁気メディア、DVD-ROM、およびCD-ROM。外部バス上のハードディスクドライブ 
sCSIやIEEE 1394などはリムーバブルとは見なされません。」

RMBを反転するツールは次のとおりです(この場合は不要です)。
LaxarのUSBフォーマットツール
Bootice
RMPrepUSB

これらはソフトウェアのアプローチです(この場合もやはり不要です)。
dummy.sysドライバー を作成します
Hitachi Microdrive Filterdriver を使用します

クレジット:
TSJNachos117 2パーティションUSBドライブでのライブUSB
http://ubuntuforums.org/showthread.php?t=102029
https://stackoverflow.com/questions/2598502/howto-flip-removable-bit-on-usb-drive-in-c
http://www.rmprepusb.com/tutorials/multipartufd

23
conman253

もっと簡単な別の方法を見つけました。これが機能する理由について理解する必要がある情報の2つの重要な部分があります。 1つ目は、ブートプロセスと、最初の電源投入時セルフテスト(BIOSによって実行)が、接続されたデバイスの最初のブートセクタでブートレコードを検索する方法についてです。これは基本的に、新しいLinuxインストールのGRUB2などのブートローダー/マネージャーにブート実行プロセスを渡す小さなファイルです。この詳細については、この非常に有益な post をお読みください。

2番目の情報は、Linux OSのISOダウンロードがパーティションではなくディスク(CD/DVD/USB)にインストールされるように設計されていることを理解することです。これらのISOは、isohybridと呼ばれるsyslinux-utilsパッケージにある小さなツールを使用して変更する必要があります。パーティションにインストールするためのISO変更は、--partokflag を使用して行われます。これからこの情報を見つけました post これはまったく同じ問題を説明しています。 --partokマジックがどのように機能するのか分かりません。説明を探しましたが、見つかりませんでした。

要約すると、ここでライブを取得しました PureOS usbパーティションからブートするためにインストールします、

  1. GNOMEディスクを使用してUSBをパーティション分割し、最初にMBR/DOSを使用してディスクをフォーマットしました。バックアップ用の残りのスペースに4GBパーティション(FAT32)を作成し、続いてext4 Linuxパーティションを作成しました。

  2. 次に、ダウンロードしたISOファイルを変更して、パーティションから起動できるようにしました。これを行うには、isohydridツールが存在するリポジトリからsyslinux-utilsをインストールする必要がありました。

    Sudo apt-get install syslinux-utils
    

    次に、ISOファイルを次のように変更しました。

    isohybrid --partok pureos.ISO
    
  3. ddを使用して、このISOを上記のパーティションにコピーしました。 GNOMEディスクの詳細からパーティションデバイスを取得できます。

    dd if=pureos.ISO of=/dev/sdb1 bs=1M
    
  4. GNOMEディスクからパーティションを編集し、必要なブックレコードをインストールするbootableオプションをチェックしました。

これで、USBキーからライブCDを起動し、システムバックアップを他のパーティションに保存しながら、リカバリソリューションとして使用することができました。

8
Aurovrata

簡単な答えは「はい」ですが、もっとシンプルにすることもできます!

ドライブとUNetbootinで使用するLinuxフレーバーのISOであることを確認してください。ここから入手できます。 http://unetbootin.sourceforge.net/

開始する前に、ドロップダウンから[ハードディスクのインストール]を選択し、ドライブからすべてのデータをコピーしてください。残りのスペースを他の目的に使用できるはずです!

2
Viperfang

永続的なライブドライブ

mkusbを使用して、永続的なライブドライブを作成できます。 5つのパーティションが作成されます。このリンクをご覧ください。

help.ubuntu.com/community/mkusb

  • パーティション#1には「usbdata」というラベルとファイルシステムNTFSがあり、UbuntuとWindowsの両方で使用して、ファイルを保存したり、コンピューター間でファイルを転送したりできます。

  • 他のパーティションはUbuntuの永続ライブシステムに属します。

    詳細については、このリンクを参照してください。

    help.ubuntu.com/community/mkusb/persistent#Partitions

    1. パーティション:(NTFS)ファイルの保存と転送のためのusbdata

    2. パーティション:GPT:BIOSモードで起動するためのbios_grubフラグ。 MSDOS:拡張パーティション

    3. パーティション:(FAT32)ブートパーティション

    4. パーティション:(ISO 9660)クローンISOファイル

    5. パーティション:(ext4)casper-rwまたはlive-rwまたはpersistence

詳細

永続的なライブシステムの作成後のパーティションに関する詳細:

...
parted -s "/dev/sdd" print
Model: SanDisk Extreme (scsi)
Disk /dev/sdd: 16,0GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags: 

Number  Start   End     Size    File system  Name     Flags
 2      1049kB  2097kB  1049kB               primary  bios_grub
 3      2097kB  258MB   256MB   fat32        primary  boot, esp
 4      258MB   1791MB  1533MB               primary
 5      1791MB  8902MB  7111MB  ext2         primary
 1      8902MB  16,0GB  7111MB  ntfs         primary  msftdata

lsblk -o MODEL,NAME,FSTYPE,LABEL,MOUNTPOINT,SIZE "/dev/sdd"
MODEL            NAME   FSTYPE  LABEL                    MOUNTPOINT  SIZE
Extreme          sdd                                                14,9G
                 |-sdd1 ntfs    usbdata                              6,6G
                 |-sdd2                                                1M
                 |-sdd3 vfat    usbboot                              244M
                 |-sdd4 iso9660 Ubuntu 16.04.1 LTS AMD64             1,4G
                 `-sdd5 ext4    casper-rw                            6,6G
</pre>
 Done :-) 
The target device is ready to use.
'ubuntu-16.04.1-desktop-AMD64.iso'
was installed

gparted16.04 LTSでiso 9660ファイルシステムとbios_grubブートイメージが認識されない:

enter image description here

gparted17.10でiso 9660ファイルシステムとbios_grubブートイメージを表示:

enter image description here

2
sudodus

これは簡単です。ただし、Windowsでは最初のパーティション(/ dev/sdb1)のみが表示され、2番目のパーティションは表示されないという高度な警告が表示されます(理由はわかりません)。したがって、汎用ストレージパーティションを最初のものにし、LiveUSBパーティションを2番目のものにすることをお勧めします。

これを行った後、起動するキーを取得できない場合、GPartedを使用してBootフラグを設定できるはずです。

注:これは以前に成功しましたが、セキュアブートを使用するものはもちろん、UEFIベースのシステムでこのようなことをテストしたことはありません。

1
TSJNachos117
  1. USBの主要部分をFAT32ストレージ14GBとして保存したい
  2. LiveUSBパーツをExt4 2GBにしたい

その後、USBのレイアウトは次のとおりです。

sdb1 14GB Fat32ストレージとEFIフォルダー
sdb2 2GB Ext4 LiveUSB

  1. Windowsで見られるように、Fat32パーツの拳を作成する必要があります。多くのTweakがなければ、WindowsはUSBの最初のパーティションのみをマウントします。
  2. このFat32パーティションには、LiveUSBパーツを起動するEFIフォルダーも含まれています
  3. Ext4にLiveUSBパーティションsdb2が必要な場合。デフォルトでは、LiveUSBの組み込みbootx64.efiはExt4パーティションを起動しません。だから、私はbootx64.efiを微調整しました。ファイルをsdb1/EFI/boot /にコピーするだけです。そして、Ext4 LiveUSBパーツが起動します。ここに私の詳細のすべて https://github.com/sonvirgo/Ext4-LiveUSB
1
Son Nguyen

簡単な解決策:

  1. KDE Partition Manager を使用して、すべてのパーティションを削除し、2,048 MBプライマリパーティション、FAT32を作成します。

  2. 残りの空き領域をデータパーティションに割り当てます。 Windowsとの相互運用性が必要な場合は、ファイルシステムとしてNTFSを選択しますが、Linuxから読み取る場合、すべてのファイルに+x属性が設定されていることに注意してください。それ以外の場合は、ext4を選択します。

  3. netbootin を使用してISOを記述します(Ubuntu 18.04は約2GBのサイズです)。特定のパーティションではなく/dev/sdaにのみ書き込むように見えることを心配しないでください。

私の設定では、gpartedはパーティションを正しく表示しませんが、KDE ​​Partition Managerは表示します。それをどうすればよいかわからない。

0
Dan Dascalescu