วิธีการสร้าง Debian live USB ด้วยวิริยะ?


11

ฉันต้องการใช้ Debian ทุกที่ที่ไปด้วยการติดตั้งลงในแฟลชไดรฟ์ USB แต่ฉันไม่แน่ใจว่าจะบันทึกการตั้งค่าได้อย่างไรและสามารถติดตั้ง / อัปเดตแพ็คเกจได้โดยไม่ต้องรีบูตเครื่อง

ดังนั้นฉันจึงดาวน์โหลดอิมเมจ Hybrid ISO จากลิงค์นี้และฉันทำตามคำแนะนำในคำถามที่พบบ่อย :

dd if=image.iso of=/dev/sdb bs=4M; sync

คำสั่งนี้คัดลอกภาพไปยังแฟลชไดรฟ์โดยการสร้างพาร์ติชันที่มีขนาดเท่ากับภาพ ISO (1.3 GB จาก 8GB) และส่วนที่เหลือของแฟลชไดรฟ์จะไม่ได้รับการจัดสรร

ฉันค้นหาวิธีการทำเช่นนี้ แต่ทุกบทช่วยสอนใช้วิธีการที่แตกต่างกันและบางบทเรียนล้าสมัยและพูดคุยเกี่ยวกับภาพ usb-hdd เก่า

ดังนั้นฉันควรติดตั้งอิมเมจไฮบริดนี้บนแฟลชไดรฟ์อย่างไร

ฉันจะแบ่งพาร์ติชันแฟลชไดรฟ์ของฉันเพื่อให้สามารถติดตั้งแพ็คเกจและบันทึกการตั้งค่าได้อย่างไร และฉันจะติดตั้งภาพนี้ได้ddอย่างไรโดยไม่ต้องใช้


บทช่วยสอนวันที่ (2011) นี้อธิบายอย่างชัดเจนว่าผลลัพธ์ควรเป็นอย่างไรใน GParted สิ่งนี้เกิดขึ้นได้กับ Debian 6.0.0 (Squeeze) โดยใช้อิมเมจ USB-HDD จากนั้นอีกครั้งฉันไม่สามารถทำซ้ำผลลัพธ์โดยใช้อิมเมจ ISO แบบไฮบริดสำหรับ Debian รุ่นใหม่
clearkimura

@clearkimura ลองUEFI BIOS + สด Debian amd64 ยืดที่สามารถบูตได้ด้วยความเพียร คุณควรให้รางวัลแก่ผู้ใช้ schlimmchen หากคำตอบนั้นเหมาะกับคุณ
Freddy

ISOs ไฮบริดเป็นภาพบูตจากแผ่นซีดีรอม และสามารถบูตจากอุปกรณ์ USB เช่นที่พวกเขายังประกอบด้วยMBR อิมเมจเหล่านี้เป็นแบบอ่านอย่างเดียว (ระบบไฟล์ squashfs) ดังนั้นจึงไม่สามารถเขียนลงไปและมักจะมีหนึ่งพาร์ติชัน ดังนั้นคุณจะต้องสร้างพาร์ติชันที่สามารถเขียนได้ที่สองเพื่อคงอยู่เพิ่มpersistence.confไฟล์คอนฟิกูเรชันและเพิ่มพารามิเตอร์การบูตเคอร์เนล "persistence" ลงใน grub / syslinux config เพื่อตรวจหาพาร์ติชั่นที่สองของคุณ
Freddy

@ เฟรดดี้หากคุณคิดว่าคุณสามารถให้คำอธิบายที่ดีกว่าคำตอบที่โพสต์แล้ว - เพื่ออธิบายว่าทำไมการโคลนนิ่ง (โดยใช้ dd หรือ cp) จะไม่ทำงานอย่างต่อเนื่องตามที่อธิบายไว้ในเอกสารอย่างเป็นทางการ -คุณควรแปลงความคิดเห็นของคุณเป็นคำตอบที่เหมาะสม แทน.
clearkimura

1
โพสต์โปรดปรานบ้าน: หลังจากที่ผมยังคงอ่านอ่านและอ่านข้อความต่างๆบนเว็บและทำไม่กี่รอบอื่นของการทดลองและข้อผิดพลาดฉันจัดการเพื่อเข้าใจที่ดีขึ้นของการโคลน (ใช่ไฮบริด ISO สามารถทำงานร่วมกับถาวรบน USB เป็น ตามเอกสารอย่างเป็นทางการ ) ยังไม่ต้องดาวน์โหลดและทดสอบโดยใช้ Debian 10 - ฉันอาจได้คำตอบของตัวเองในไม่ช้า
clearkimura

คำตอบ:


7

Debian อาศัยอยู่ด้วยความเพียร

  1. ลองครั้งแรกด้วยภาพอย่างเป็นทางการจาก www.debian.org/CD/live/

    จากไซต์ SE (มาตรฐานสด):

    wget https://cdimage.debian.org/debian-cd/current-live/amd64/iso-hybrid/debian-live-10.0.0-amd64-standard.iso
    

    จากการเลือกมิเรอร์อัตโนมัติ (mate live):

    wget http://debian-cd.debian.net/debian-cd/10.0.0-live/amd64/iso-hybrid/debian-live-10.0.0-amd64-mate.iso
    

    จากนั้นตรวจสอบคุณดาวน์โหลดไฟล์ด้วยhttps://cdimage.debian.org/debian-cd/current-live/amd64/iso-hybrid/SHA256SUMS ...

    Ok ระบบไฟล์ ISO เป็นแบบอ่านอย่างเดียวแต่มีวิธีแก้ไขเล็กน้อย: เราสามารถแทนที่bootparam ที่ไม่สำคัญด้วยpersistenceวิธีนี้

    • เมื่อไฟล์ผ่านการตรวจสอบแล้ว!
    • คุณสามารถเปลี่ยนพวกเขาโดยใช้sedสำหรับการแทนที่สตริงในไบนารี

      LANG=C sed 's/splash quiet/persistence /;s/quiet splash/persistence /' \
          </tmp/debian-live-10.0.0-amd64-mate.iso \
          >/tmp/debian-live-10.0.0-amd64-mate-persist.iso
      

    สิ่งนี้จะสร้างสำเนาไบนารีไฟล์ที่แก้ไขแล้วของคุณโดยการแทนที่splash quietหรือquiet splashตามที่persistenceใดก็ได้ ตกลงสิ่งนี้จะใช้ได้เฉพาะในขณะที่คำสั่ง grub bootประกอบด้วยสองคำนี้ด้วยกัน

    แต่ไม่ควรพลาดพื้นที่หลังการติดตา:

    "splash quiet" -> 12 characters
    "persistence " -> 12 characters
    

    หรือไบนารีของคุณจะถูกทำลาย

  2. ติดตั้งบนปุ่ม USB

    dd if=debian-live-10.0.0-amd64-standard-persist.iso of=/dev/sdX
    

    จากนั้นเพิ่มพาร์ติชันที่สามของคุณเพื่อคงอยู่:

    fdisk /dev/sdX
    n           # new partition
    p           # primary
    <Return>    # default: 3
    <Return>    # default: next free sector
    <Return>    # default: last addressable sector
    w           # write and quit
    

    สิ่งนี้สามารถทำงานได้โดยไม่มีการโต้ตอบ:

    fdisk /dev/sdX <<<$'n\np\n\n\n\nw'
    

    จัดรูปแบบและเตรียมความพร้อมกับunion:

    mkfs.ext4 -L persistence /dev/sdX3
    mount /dev/sdX3 /mnt
    echo '/ union' >/mnt/persistence.conf
    sync
    umount /mnt
    

    จากนั้นนำออกและลอง!

    หากคุณใช้อิมเมจที่เป็นทางการและไม่ได้ดัดแปลงสำหรับการใช้งานการคงอยู่คุณจะต้องหยุดการเลือกการบูต:

    เมื่อหน้าจอเมนูปรากฏขึ้นให้เลือกตัวเลือกการบูตจากนั้นReturnกดTabแทน

    commandline เคอร์เนลจะแสดงแล้วเพิ่มpersistenceที่มีพื้นที่หลังจากคำพูดสุดท้าย ( quiet) Returnตีแล้ว

    น่าเสียดายเนื่องจากพาร์ติชันที่ 1 นั้นมาพร้อมกับ UEFI และเป็น ISO คุณจึงไม่สามารถแก้ไขคำสั่งการบู๊ตได้

เดเบียนที่กำหนดเองมีชีวิตอยู่ด้วยความเพียร

คุณเพียงแค่ต้องเพิ่มpersistenceในบรรทัดคำสั่งการบูต แต่ไม่มีอะไรอื่น! มีวิธีใช้ FAT และsyslinuxแต่คุณมีการจัดการข้อมูลจำนวนมาก มันยาวและฉันคิดว่ามันไม่ค่อยดีเท่าไหร่ ฉันชอบ:

  1. สร้าง Debian สดของคุณเอง

    ปกติมากกว่าแต่อีกหน่อย (อย่างน้อยสำหรับภาพที่ 1)

    หมายเหตุ: ทุกสิ่งนี้ทำภายใต้ผู้ใช้รูท (ต้องทำงานโดยใช้fakerootแต่ไม่ได้ทำการทดสอบที่นั่นและในวันนี้)

    apt install live-build
    

    ... และคำแนะนำทั้งหมด

    ฉันเขียนXARGSฟังก์ชันเล็กน้อยเพื่อวางบรรทัดที่มีเครื่องหมายคอมเม้นต์:

    XARGS() { sed -ne '/#/d;s/ \t//g;H;${x;s/\n/ /g;s/^ //;p}'; }
    

    การตั้งค่าครั้งแรกbootparamsพร้อมการโลคัลไลซ์เซชันและอาร์กิวเมนต์สำหรับการคงอยู่:

    ExtraBootParams=$(XARGS <<eobp
        boot=live
        config
        locales=ed_WT
        keyboard-layouts=ed
        keyboard-variant=wt
        persistence
    eobp
    )
    

    ตอนนี้รายการแพ็คเกจของคุณ:

    PackageList=$(XARGS <<-eopl
        gnome
        gnome-core
        # gnome-full
        # debian-forensics
        debian-installer-launcher
    eopl
    )
    

    ขั้นตอนแรกของlb: สร้างต้นไม้เริ่มต้น:

    lb config --architectures amd64 -d buster --debian-installer-gui \
        true --archive-areas 'main contrib non-free' \
        --bootappend-live "$ExtraBootParams" 
    

    ตอนนี้คุณมีต้นไม้เล็ก ๆ คุณสามารถ:

    printf "%s\n" > config/package-lists/standard.list.chroot \
        $Packages $PackageList
    

    ตกลงคำสั่งต่อไปจะใช้เวลา loooong! (ประมาณ 1 ชั่วโมงบนโฮสต์ของฉัน)

    lb build
    

    หากทุกอย่างโอเคคุณอาจพบDebian สดของคุณ:

    ls -l *.iso
    -rw-r--r--  1 root root 1511817216 sep  7 15:32 live-image-amd64.hybrid.iso
    
  2. ติดตั้งบนคีย์ USB (การทำงานเดียวกันกับไบนารีที่ดาวน์โหลดมา)

    'ISO-ไฮบริด'ภาพมีสองพาร์ทิชันสำหรับ UEFI และสดผสมในทางทั้งEFIและประวัติสามารถบูต

    file live-image-amd64.hybrid.iso
    live-image-amd64.hybrid.iso: DOS/MBR boot sector; partition 2 : ID
    =0xef, start-CHS (0x3ff,254,63), end-CHS (0x3ff,254,63), startsect
    or 708, 5696 sectors
    

    คุณสามารถใส่ที่คีย์ USB ของคุณได้: (หมายเหตุ: ให้แน่ใจก่อนว่าไม่ได้ติดตั้งคีย์ USB ของคุณ!)

    dd if=live-image-amd64.hybrid.iso of=/dev/sdX
    

    จากนั้นเพิ่มพาร์ติชันที่สามของคุณเพื่อคงอยู่:

    fdisk /dev/sdX <<<$'n\np\n\n\n\nw'
    

    จัดรูปแบบและเตรียมความพร้อมกับunion:

    mkfs.ext4 -L persistence /dev/sdX3
    mount /dev/sdX3 /mnt
    echo '/ union' >/mnt/persistence.conf
    sync
    umount /mnt
    

    ดีดออกแล้วลอง ...

Debian live พร้อมการเข้ารหัสที่มีอยู่

  1. สร้าง Debian ของคุณเองมีชีวิตอยู่ แต่มีการเข้ารหัสติดตา

    ในการบูตด้วย rootfs /ในการคงอยู่ที่เข้ารหัสคุณต้องเพิ่มdm-cryptโมดูลและไบนารีที่เกี่ยวข้องเพื่อinitrd (ดิสก์ RAM เริ่มต้น) โดยเพิ่มการตั้งค่าCRYPTSETUP=yใน/etc/initramfs-tools/hooks/...

    ฉันเขียนXARGSฟังก์ชันเล็กน้อยเพื่อวางบรรทัดที่มีเครื่องหมายคอมเม้นต์:

    XARGS() { sed -ne '/#/d;s/ \t//g;H;${x;s/\n/ /g;s/^ //;p}'; }
    

    การตั้งค่าแรกbootparamsด้วยการโลคัลไลซ์เซชันและอาร์กิวเมนต์สำหรับการคงอยู่และ cryptsetup:

    ExtraBootParams=$(XARGS <<eobp
        boot=live
        config
        locales=ed_WT
        keyboard-layouts=ed
        keyboard-variant=wt
        persistent=cryptsetup
        persistence-encryption=luks
        persistence
    eobp
    )
    

    ตอนนี้รายการแพ็คเกจของคุณ:

    PackageList=$(XARGS <<-eopl
        gnome
        gnome-core
        # gnome-full
        # debian-forensics
        debian-installer-launcher
    eopl
    )
    

    และการเลือกแพ็คเกจของคุณ:

    Packages=$(XARGS <<-eopk
        cryptsetup
        cryptsetup-initramfs
        debian-installer-launcher
        firmware-linux-nonfree
        firmware-linux-free
        less
        ssh
    #   openvpn
    #   xtightvncviewer
        gsmartcontrol
        smartmontools
        partclone
        ntfs-3g
        task-gnome-desktop
        user-setup
        sudo
        apt-utils
    eopk
    )
    

    cryptsetupต้องมีแน่นอน! ;-)

    ขั้นตอนแรกของlb: สร้างต้นไม้เริ่มต้น:

    lb config --architectures amd64 -d buster --debian-installer-gui \
        true --archive-areas 'main contrib non-free' \
        --bootappend-live "$ExtraBootParams" 
    

    ตอนนี้คุณมีต้นไม้เล็ก ๆ คุณสามารถ:

    printf "%s\n" > config/package-lists/standard.list.chroot \
        $Packages $PackageList
    

    ตกลงสองคำสั่งถัดไปจะใช้เวลา loooong! (ประมาณ 40 'บนโฮสต์ของฉัน)

    lb bootstrap ; lb chroot
    

    ตอนนี้คุณสามารถเพิ่มโมดูลและไบนารี:

    echo dm-crypt >> chroot/etc/initramfs-tools/modules
    
    sed '/CRYPTSETUP=/s/^#//;s/=.*/=y/' -i \
        chroot/etc/cryptsetup-initramfs/conf-hook 
    ln -s ../../cryptsetup-initramfs/conf-hook \
        chroot/etc/initramfs-tools/hooks/cryptsetup
    chroot chroot live-update-initramfs -u
    

    จากนั้นเรียกใช้ขั้นตอนสุดท้าย (จะใช้เวลามากขึ้น ~ 25 '):

    lb installer ; lb binary
    

    หมายเหตุ: ถ้าคุณอ่านcryptsetup: WARNING: Couldn't determine root deviceมันไม่เป็นไร! นี้หมายถึงการที่cryptsetupinitrdมีการติดตั้งบน

    หากทุกอย่างโอเคคุณอาจพบDebian สดของคุณ:

    ls -l *.iso
    -rw-r--r--  1 root root 1511817216 sep  7 15:32 live-image-amd64.hybrid.iso
    
  2. ติดตั้งบนปุ่ม USB

    'ISO-ไฮบริด' umage จะมีอยู่แล้วสองพาร์ทิชันสำหรับ UEFI และสดผสมในทางทั้งEFIและBIOSสามารถบูต

    file live-image-amd64.hybrid.iso
    live-image-amd64.hybrid.iso: DOS/MBR boot sector; partition 2 : ID
    =0xef, start-CHS (0x3ff,254,63), end-CHS (0x3ff,254,63), startsect
    or 708, 5696 sectors
    

    คุณสามารถใส่ที่คีย์ USB ของคุณได้: (หมายเหตุ: ให้แน่ใจก่อนว่าไม่ได้ติดตั้งคีย์ USB ของคุณ!)

    dd if=live-image-amd64.hybrid.iso of=/dev/sdX
    

    เพิ่ม Linux partion ใหม่โดยใช้พื้นที่ว่าง

    fdisk /dev/sdX <<<$'n\np\n\n\n\nw'
    

    สิ่งนี้จะสร้างพาร์ติชัน 3โดยใช้พื้นที่ว่างบนคีย์ USB ของคุณ

    จากนั้นเตรียมพาร์ติชันที่เข้ารหัสของคุณ

    cryptsetup -q luksFormat /dev/sdX3
    

    ป้อนข้อความรหัสผ่าน

    cryptsetup -q luksOpen /dev/sdX3 persist 
    

    ป้อนข้อความรหัสผ่านอีกครั้ง

    mkfs.ext4 -L persistence /dev/mapper/persist
    mount /dev/mapper/persist /mnt
    echo '/ union' >/mnt/persistence.conf
    sync
    umount /mnt
    cryptsetup luksClose persist
    

นั่นคือทั้งหมดที่

eject /dev/sdX

สิ่งนี้น่าสนใจ: 1. มีbinไฟล์ใดบ้างสำหรับ Debian รุ่นปัจจุบัน? 2. โปรดแจ้งให้เราทราบว่าวิธีการของคุณทำงานอย่างไร (กับรุ่นปัจจุบันของ Debian)
sudodus

1
@sudodus ตั้งแต่ Debian 7 (Wheezy) ภาพ USB-HDD ไม่ได้ถูกสร้างเพื่อการเผยแพร่อีกต่อไป อย่างน้อยฉันสามารถยืนยันได้ว่าภาพ USB-HDD นั้นมีให้สำหรับ Debian 5 (Lenny) และ 6 (Squeeze) ภาพ USB-HDD เป็น.imgและไม่ได้.binแต่ผมคิดว่าเหล่านี้เป็นหลักเดียวกันตามเดวิกิพีเดีย
clearkimura

2
ตกลงฉันจะเขียนสิ่งนี้อีกครั้ง แต่ไม่ใช่ในวันนี้ ... ขออภัย
F. Hauri

@sudodus Rewite เสร็จสิ้นแล้วและไม่เสียใจ: binรูปภาพที่เผยแพร่บน debian.org ไม่สามารถบู๊ตได้ด้วยการติดตาเข้ารหัส
F. Hauri

1
+1; @ F.Hauri ฉันพยายามสร้างพาร์ติชันเพื่อคงอยู่หลังจากส่วน USB ไดรฟ์ที่ใช้โคลนpartedและgpartedไม่มีโชคมาก คุณแสดงให้เห็นว่าการfdiskทำงาน (ไม่ทำลายการบูตของไดรฟ์โคลน) และใช่ฉันเห็นว่าจำเป็นต้องเพิ่มตัวเลือกการเริ่มระบบในการบู๊ตpersistenceทุกครั้งเนื่องจากระบบไฟล์ iso9660 เป็นแบบอ่านอย่างเดียวโดยการออกแบบ และฉันก็เห็นด้วยว่ามันยอดเยี่ยม (แม้จะมีค่ามาก) ที่จะมีการเข้ารหัสแบบถาวรในขณะเดินทาง
sudodus

4

ทำไมคุณไม่ทำการติดตั้งเดเบียนใหม่เลือกอุปกรณ์ usb แทน HDD ของคุณเป็นปลายทาง ยูเอสบีของคุณมีความจุเท่าใด

ฉันมี Debian LXDE ติดตั้งและใช้งานในหน่วยความจำ 4GB usb ให้อัปเดตระบบเมื่อใดก็ตามที่ฉันต้องการและติดตั้งแพ็คเกจเมื่อฉันต้องการ


มันเป็นแฟลชไดรฟ์ 8GB ฉันต้องการใช้ GNOME และคิดว่ามันจะใช้พื้นที่มากและภาพสดของ GNOME นั้นมีขนาด 1.3 GB เท่านั้น แต่การติดตั้ง HDD ของฉันใหญ่กว่า แต่ฉันไม่รู้ว่าเท่าไหร่ คุณใช้อิมเมจการติดตั้งหรือไม่
Pierre

@Peter - 8GB ควรจะดีสำหรับการติดตั้งเริ่มต้น
slm

ฉันใช้cdimage.debian.org/debian-cd/current-live/i386/iso-hybrid/ ......เนื่องจากฉันต้องการความเร็วฉันจึงเลือก lxde คุณมีภาพคำพังเพยที่นั่นเช่นกัน Gnome จาก usb อาจช้าไปหน่อย แต่ถ้าคุณมีแรมมากมายมันจะเปิดแอปได้ช้าในครั้งแรกเท่านั้นคราวหน้าพวกเขาจะเปิดเร็วขึ้น คุณจะต้องลดจำนวนแอพที่คุณติดตั้งลงในยูเอสบีให้เหลือแอพที่คุณใช้ / ต้องการจริงๆและทิ้งส่วนที่เหลือไว้สำหรับคอมพิวเตอร์ที่บ้านของคุณ
YoMismo

2
โดยวิธีการที่คุณอาจต้องการสร้าง / tmp ของคุณใน ram แทนบนดิสก์ของคุณคุณจะต้องเพิ่มบรรทัดtmpfs /tmp tmpfs nodev,nosuid,size=2G 0 0ใน fstab ของคุณ (เปลี่ยน 2G สำหรับขนาดที่คุณต้องการให้เป็นและมีอยู่ในใจว่าจำนวนเงินที่คุณ กำหนดให้กับ tmp จะไม่สามารถใช้ได้กับแอพที่เหลือ)
YoMismo

2
การใช้ระบบที่ติดตั้งไม่เหมาะสมกับคีย์ USB ที่ต้องบูตกับฮาร์ดแวร์ที่แตกต่างกัน การถ่ายทอดสดที่แท้จริงคือการสร้างวิธีการอนุญาตให้ใช้งาน
ฮาร์ดไดรฟ์

4

การโคลนนิ่งและเดเบียนแบบสดๆ

การโคลน (การคัดลอกแต่ละไบต์ตามที่เป็นอยู่การสร้างสำเนาแบบหนึ่งต่อหนึ่ง) เป็นวิธีที่ง่ายและเชื่อถือได้ในการสร้างบูตไดรฟ์ (ไดรฟ์สดหรือไดรฟ์ติดตั้ง) จากไฟล์ iso ของลินุกซ์

ไม่มีวิธีทั่วไปในการสร้างไฟล์ Debian iso ที่ยังคงมีอยู่เนื่องจากมีระบบไฟล์แบบอ่านอย่างเดียว ISO9660 (และ 'พาร์ติชันตาราง' แบบอ่านอย่างเดียว)

การใช้ mkusb (BIOS / UEFI)

มันเป็นไปได้ (และผมจะบอกว่าค่อนข้างง่าย) เพื่อใช้mkusbสร้างไดรฟ์ที่มีชีวิตถาวรจากไฟล์ ISO Debian สด mkusb รองรับ Debian 8 หรือใหม่กว่าและคุณควรใช้รุ่นปัจจุบันของ mkusb (รุ่น 12.3.3 หรือใหม่กว่า)

mkusbสร้างตารางพาร์ติชันและ 5 พาร์ติชัน:

  1. พาร์ติชัน NTFS สำหรับแลกเปลี่ยนข้อมูลกับคอมพิวเตอร์ Windows (ขนาดเสริม)
  2. พาร์ติชันหรือbios_grubพาร์ติชันเสริม
  3. พาร์ติชันสำหรับบูต FAT32 สำหรับการบู๊ตด้วยgrub(ทั้งในโหมด UEFI และ BIOS)
  4. พาร์ติชัน ISO9660 ที่มีโคลนของไฟล์ iso
  5. ext พาร์ติชั่นสำหรับการคงอยู่ซึ่งการแก้ไข (และไฟล์) ของคุณจะถูกเก็บไว้

mkusbทำการปรับแต่งต่อไปนี้โดยอัตโนมัติ:

  • ตัวเลือกการบูตpersistence(ไม่persistentเหมือนกับใน Ubuntu)
  • ฉลากpersistenceบนพาร์ติชัน # 5 (ไม่casper-rwเหมือนกับใน Ubuntu)
  • ไฟล์ที่persistence.confมีเนื้อหา/ unionที่ระดับบนสุดของพาร์ติชัน # 5

โครงสร้างนี้ถูกสร้างขึ้นโดย shellscript ทุบตีdus-persistentเมื่อคุณใช้รุ่น mkusb 12 mkusb-dusนามแฝง หากคุณต้องการรายละเอียดทั้งหมดที่ติดตั้ง mkusb และอ่านเนื้อหาของdus-persistentหรืออ่านได้โดยตรงผ่านทางphillw.net/isos/linux-tools/mkusb/dus-persistent

การตั้งค่าเริ่มต้นของ mkusb สามารถใช้สำหรับ Debian 8, 9 และ 10 และไดรฟ์สดแบบต่อเนื่องจะทำงานเมื่อบูตในโหมด BIOS และโหมด UEFI (แต่ไม่ใช่กับการบู๊ตอย่างปลอดภัย)

(ใน mkusb รุ่นก่อนหน้า 12.3.2 คุณต้องตั้งค่า 'usb-pack-efi' ด้วยตนเองในเมนู 'การตั้งค่า' สำหรับ Debian 10 ในโหมด UEFI)

ใช้การตั้งค่าด้วยตนเอง (UEFI เท่านั้น)

หากคุณต้องการ UEFI สำหรับบูตแฟลชไดรฟ์เพียงอย่างเดียวคุณไม่จำเป็นต้องติดตั้งเลย

คุณเพียงแค่ต้องฟอร์แมตแฟลชไดรฟ์ด้วย FAT32 และเปิดแฟลกการบูต แล้วใช้สิ่งที่เป็นเครื่องมือในการสกัดที่คุณชื่นชอบเช่น 7zip ในการสกัดและคัดลอก ISO เพื่อ FAT32 พาร์ทิชัน ดูรายละเอียดเพิ่มเติมด้วยตัวคุณเอง

ฉันตรวจสอบวิธีการนี้ด้วยไฟล์ iso สดมาตรฐาน (เล็กไม่มีสภาพแวดล้อมเดสก์ทอปแบบกราฟิก)

debian-live-10.0.0-amd64-standard.iso

ด้วยวิธีนี้คุณสามารถสร้างไดรฟ์ USB พร้อม Debian 10 (64- บิต) มันจะเป็น live-only และ boot ในโหมด UEFI

  • สร้างพาร์ติชัน FAT32 ให้ใหญ่พอที่จะเก็บไฟล์จากไฟล์ iso (เพิ่มประมาณ 5% กับขนาดของไฟล์ iso)
  • เมาท์พาร์ติชัน FAT32
  • แตกเนื้อหา (แผนผังไดเร็กทอรีพร้อมไฟล์ทั้งหมด) ของไฟล์ iso ไปยังพาร์ติชัน FAT32

ตอนนี้คุณมีไดรฟ์สำหรับบูตแบบสดเท่านั้น

  • แก้ไขคำpersistenceไปยังจุดสิ้นสุดของบรรทัดที่ขึ้นต้นด้วยlinuxในไฟล์

    /path/to/mountpoint/boot/grub/grub.cfg
    
  • สร้างext2พาร์ติชันในพื้นที่ที่ไม่ได้ปันส่วน (ด้านหลังพาร์ติชัน FAT32)

  • ใส่ฉลากpersistenceบนext2พาร์ติชัน
  • เมานต์ext2พาร์ติชัน
  • เขียน/ unionไปยังไฟล์persistence.confในext2ระบบไฟล์

  • ถอนติดตั้งพาร์ติชันทั้งหมดในแฟลชไดรฟ์ก่อนที่คุณจะถอดปลั๊กหรือรีบูต

ตอนนี้คุณมีไดรฟ์ USB แบบสดที่มี Debian 10


เอาต์พุตคำสั่งมองเห็นได้จากภายในไดรฟ์สดแบบต่อเนื่อง

$ df -h
Filesystem      Size  Used Avail Use% Mounted on
udev            7.8G     0  7.8G   0% /dev
tmpfs           1.6G  9.0M  1.6G   1% /run
/dev/sdb1       4.0G  826M  3.2G  21% /run/live/persistence/sdb1
/dev/loop0      610M  610M     0 100% /run/live/rootfs/filesystem.squashfs
tmpfs           7.8G     0  7.8G   0% /run/live/overlay
/dev/sdb2        11G   38M   11G   1% /run/live/persistence/sdb2
overlay          11G   38M   11G   1% /
tmpfs           7.8G     0  7.8G   0% /dev/shm
tmpfs           5.0M     0  5.0M   0% /run/lock
tmpfs           7.8G     0  7.8G   0% /sys/fs/cgroup
tmpfs           7.8G     0  7.8G   0% /tmp
tmpfs           1.6G     0  1.6G   0% /run/user/1000

$ lsb_release -a
Distributor ID: Debian
Description:    Debian GNU/Linux 10 (buster)
Release:    10
Codename:   buster

$ lsblk -fm /dev/sdb
NAME   FSTYPE LABEL       UUID                                 FSAVAIL FSUSE% MOUNTPOINT                            SIZE OWNER GROUP MODE
sdb                                                                                                                14.8G             brw-rw----
├─sdb1 vfat   USBBOOT     7176-C538                               3.2G    20% /usr/lib/live/mount/persistence/sdb1    4G             brw-rw----
└─sdb2 ext2   persistence 2b324439-d63e-4a19-bf57-d49ecb881828     10G     0% /usr/lib/live/mount/persistence/sdb2 10.8G             brw-rw----

คุณจะเห็นว่าขนาดของการoverlayจับคู่ที่/dev/sdb2บ่งบอกว่าการคงอยู่ใช้งานได้

การใช้mkusb-minp(BIOS / UEFI)

เป็นไปได้ (และฉันจะบอกว่าค่อนข้างง่าย) เพื่อใช้mkusb-minpเพื่อสร้างไดรฟ์สดถาวรจากไฟล์isbian live iso mkusb-minpรองรับ Debian 10 หรือใหม่กว่า นี้ shellscript ง่ายได้รับการพัฒนาจากmkusb นาที ทั้งคู่คาดเข็มขัดนิรภัยไว้รอบกระบวนการโคลนเพื่อหลีกเลี่ยงการเขียนลงในอุปกรณ์ที่ผิด

นี่เป็นตัวเลือกที่ดีถ้าคุณไม่ต้องการเพิ่มซอฟต์แวร์ผ่าน PPA หรือโดยทั่วไปต้องการใช้เฉพาะเครื่องมือที่คุณเข้าใจ

  • ฉันทำ shellscript ง่าย ๆ นี้โดยใช้วิธีการโคลนแบบง่ายโดย F. Hauri (อธิบายไว้ในคำตอบอื่นในหัวข้อนี้)
  • ดูคำอธิบายทั่วไปที่help.ubuntu.com/community/mkusb/minp
  • มีรายละเอียดเพิ่มเติมได้ที่มีhelp.ubuntu.com/community/mkusb/minp/details

1
ข้อมูลทั่วไปสำหรับผู้ใช้: ณ วันนี้ (5 ก.ย. 2562), mkusb 12.3.2-1ubuntu4 มีให้บริการผ่าน PPAสำหรับ Ubuntu 12.04 และใหม่กว่า SparkyLinux เป็น distro Debian-based มีรุ่นเดียวกันในพื้นที่เก็บข้อมูลของพวกเขาเป็นประกาศมีนาคม 2019
clearkimura

1
ความคิดเห็นหลังรับรางวัล: sedคำสั่งเป็นเพียงวิธีแก้ปัญหา แต่ก็ดูเหมือนว่าไม่มีใครแสดงความคิดเห็นหรืออธิบายข้อ จำกัด ฉันคิดว่าการคัดลอกคำตอบจากคำตอบอื่นกำลังทำอันตรายมากกว่าดีเว้นแต่คุณจะสามารถชี้แจงได้ว่าเมื่อใดที่จะไม่สามารถทำงานได้
clearkimura

@clearkimura ฉันได้ทดสอบ 'ตลอดทาง' F.Hauri ถึง 'แก้ไขไบนารี' persistence เป็นไฟล์ Debian 10 iso สร้างพาร์ติชันที่อยู่ด้านหลังด้วยfdiskและบิดพาร์ติชันให้เป็นที่เก็บข้อมูลถาวร ฉันสามารถยืนยันได้ว่ามันทำงานกับ Debian 10 ทั้งในโหมด UEFI และ BIOS แต่ฉันไม่สามารถพูดอะไรเกี่ยวกับรุ่นก่อนหน้า (Debian 8 และ 9) ฉันลบข้อความออกจากคำตอบและทำให้ความคิดเห็นนี้ 'เท่านั้น' เกี่ยวกับมัน
sudodus

1
ไม่แน่ใจว่าความคิดเห็นของฉันถูกตีความผิด แต่ฉันแค่อยากจะบอกใบ้ว่าsedคำสั่งจะไม่ทำงานสำหรับทุกคน เนื่องจากเป็นวิธีแก้ปัญหาเพียงอย่างเดียวจึงไม่คุ้มค่ากับเวลาที่จะทำการทดสอบเพิ่มเติม
clearkimura

1
ฉันได้ทดสอบmkusb2 ปีที่แล้วมันทำงานได้อย่างสมบูรณ์แบบบน / สำหรับการสร้างเดเบียนแบบถาวร 8 และ 9 ต่อไปนี้เป็นคำตอบของฉันเกี่ยวกับ U&L
GAD3R

1

ก่อนอื่น - ฉันไม่ใช่คน Linux - คุ้นเคยกับมันมากกว่าโจธรรมดา

คุณสามารถใช้ตัวติดตั้ง yummi เพื่อสร้าง Debian 10 usb (ฉันใช้ไม้เท้า 16GB ที่ฉันวางไว้แล้ว) จากนั้นก็บูตจากมัน

ครั้งเดียวเสียบแท่ง USB ขนาดใหญ่เข้ากับพอร์ตอื่น (ฉันกำลังทำสิ่งนี้เมื่อเราพูดกับแฟลชไดรฟ์ Samsung FIT 128GB) จากนั้นดับเบิลคลิกที่ไอคอนติดตั้ง Debian บนเดสก์ท็อป

วิ่งผ่านสิ่งปกติจนกว่าคุณจะไปถึงการแบ่งพาร์ติชันแล้วเลือกด้วยตนเอง .. ในหน้าจอการแบ่งพาร์ติชันด้วยตนเองให้แน่ใจว่าคุณเลือก 128GB USB stick (หรือแล้วแต่ว่าคุณใช้อันไหน) - ตรวจสอบให้แน่ใจว่าไม่ใช่ไดรฟ์ภายในเครื่อง เพื่อทำสิ่งนี้และตรวจสอบให้แน่ใจว่าไม่ได้เป็นแท่ง USB ขนาด 16GB ที่ Debian ที่ใช้งานอยู่กำลังทำงานอยู่)

เมื่อเสร็จแล้วให้ลบพาร์ติชั่นที่มีอยู่ทั้งหมดจาก usb stick ขนาด 128GB และสร้างพาร์ติชั่น 3 ตัวต่อไปนี้

500 MB / boot / efi 1942MB linux สลับส่วนที่เหลือเป็น ext2 (ของฉันคือ 119GB)

---- ฉันจะไม่ใช้ ext3 หรือ 4 สำหรับแท่ง USB - ไม่แน่ใจว่าทำไมคนที่แต่งตัวประหลาด Linux บางคนบอกฉันว่าไม่กี่ปีที่ผ่านมาและฉันติดอยู่กับมัน หากใครรู้ว่าทำไมโปรดบอกเรา?

และในที่สุดให้แน่ใจว่าคุณกำลังบูตโหลดเดอร์จะถูกติดตั้งลงใน USB stick ที่เหมาะสม - นี่เป็นหน้าเดียวกับการแบ่งพาร์ติชันเมื่อฉันทำมันและมันง่ายที่จะพลาด - สำหรับฉันมันอยู่ที่ด้านล่างสุดและฉันต้อง เปลี่ยนจาก SDD ท้องถิ่นของพีซีที่ฉันใช้ทำสิ่งนี้เป็นแฟลชไดรฟ์ Samsung 128GB FIT หลังจากนั้นต่อไป ... รอประมาณหนึ่งชั่วโมงหรือมากกว่านั้น (ในกรณีของฉัน)

ถ้าล็อคเดเบียนสดรหัสผ่านคือ "สด" โดยไม่มีเครื่องหมายคำพูดแน่นอน

มันเสร็จสิ้นในขณะที่ฉันกำลังพิมพ์สิ่งนี้อยู่ฉันจึงรีบูตและเข้าสู่ระบบ Debian 10 ที่เต็มไปด้วยระเบิดที่รันจากแฟลชไดรฟ์ Samsung 128GB FIT USB ของฉัน ด้วยค่าประมาณ 10 นาทีสำหรับการใช้งานที่ฉันมีฉันสามารถยืนยันพื้นที่ดิสก์ได้ตามที่ควรจะเป็น (ล็อต) และดูเหมือนว่าจะทำงานได้ช้ากว่าไดรฟ์ภายใน NvMe ของฉันเล็กน้อย แต่เร็วกว่า HDD 7200RPM ของผู้ควบคุม

ใช่ไปแล้ว


โอ้ใช่ฉันใช้ Debian 10 KDE ฟรี แต่ฉันสนับสนุนสิ่งใดก็ตามที่จะทำงานได้ด้วยวิธีนี้ .. ฉันจะดึงก้านออกจากแล็ปท็อปของฉันซึ่งฉันเคยสร้างมันขึ้นมาแล้วลองใช้งานบนเดสก์ท็อปและเว็บ sver ของฉัน มันบูทได้ดีกับผู้ผลิตคอมพิวเตอร์หลาย ๆ คนและไม่ จำกัด เฉพาะแล็ปท็อปของฉันเราจะเห็น ... แจ้งให้คุณทราบใน 10 นาทีหรือมากกว่านั้น ...
Jon Jon

ทำงานได้ดีในทุกระบบ - ฉันต้องปิดการใช้งานการบู๊ตที่ปลอดภัยบน BIOS และเปิดใช้งาน (x2 - ทดสอบในห้าระบบ = 1 รุ่นเก่ากว่า HP Inspiron รุ่นเก่าหนึ่งรุ่น Dell XPS หนึ่ง Alienware Aurora R4 - บูตปลอดภัย ไม่เปิดใช้งานหนึ่ง Alienware Aurora R8 - เปิดใช้งานการบูตอย่างปลอดภัย - ต้องปิดการใช้งานเพื่อให้บูตทำงานและ MSI Infinite X หนึ่งพร้อมเปิดใช้งานการบูตอย่างปลอดภัยและฉันปิดใช้งาน) นอกเหนือจาก np นั้น นี่สำหรับฉันที่จะใช้เพื่อการวินิจฉัยเท่านั้น - ไม่งั้นฉันจะติดตั้งลงใน NvME และทำการบูทอย่างปลอดภัยจากไดรฟ์นั้น
Jon

คุณอธิบายวิธีสร้างระบบที่ติดตั้งในไดรฟ์ USB ได้ดี (ติดตั้งเหมือนกับในไดรฟ์ภายใน) นี่เป็นทางเลือกที่ดี แต่ไม่ได้ตอบคำถามเดิมของกระทู้นี้ อย่างไรก็ตามฉันคิดว่าความพยายามของคุณมีค่ามากเกินกว่าที่ควรจะเป็น (+1)
sudodus
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.