Hemsida » hur » Varför skapar en startbar USB-enhet mer komplex än att skapa uppstartbara CD-skivor?

    Varför skapar en startbar USB-enhet mer komplex än att skapa uppstartbara CD-skivor?

    Att skapa startbara CD-skivor och DVD-skivor tenderar att vara en enkel, enkel process, men varför är det mer komplext när du skapar startbara flash-enheter? Finns det verkligen så stor skillnad mellan de två? Dagens SuperUser Q & A inlägg har svaret på en nyfiken läsarens fråga.

    Dagens Question & Answer-session kommer till oss med tillstånd av SuperUser-en indelning av Stack Exchange, en community-driven gruppering av Q & A-webbplatser.

    Frågan

    SuperUser-läsare William vill veta varför att skapa en startbar USB-enhet är mer komplicerad än att skapa startbara CD-skivor:

    Att skapa en startbar CD är väldigt enkel enligt min åsikt. Allt du behöver göra är att bränna en ISO-fil till en skiva och den kan startas. Nu när det gäller USB-enheter har du många alternativ. Kan någon förklara skillnaden mellan de två och kanske ge en kort översikt över de olika alternativen?

    Varför skapar en startbar USB-enhet mer komplicerad än att skapa startbara CD-skivor?

    Svaret

    SuperUser-bidragsgivaren Akeo har svaret för oss:

    Rufus utvecklare här. Först av allt listas många av de alternativ du nämner bara när du kör Rufus i Avancerat läge (när Avancerade alternativavsnitt visas), eftersom de är avsedda för personer som redan vet vad de är för.

    Till att börja med måste du förstå att ISO-formatet aldrig konstruerades för USB-uppstart. En ISO-fil är en 1: 1-kopia av en optisk skiva, och optiska skivmedier skiljer sig väldigt annorlunda från USB-media, både vad gäller hur deras startläsare ska struktureras, vilket filsystem de använder, hur de partitioneras (de är inte), och så vidare.

    Så om du har en ISO-fil kan du helt enkelt inte göra med USB-media vad du kan göra med en optisk skiva, som läses från varje bit av ISO-filen och kopieras som i följd på skivan (vilken CD / DVD-brännare gör det när "arbetar" med ISO-filer).

    Det betyder inte att den här typen av 1: 1-kopiering inte kan existera på USB-media, bara att 1: 1-kopior på USB-media kommer att vara helt annorlunda än 1: 1 kopior på optiska skivor och därför inte utbytbara (utom att använda ISOHybrid bilder som är utformade för att fungera som 1: 1 kopior på USB och optisk media båda). För posten, i Rufus-terminologi, kallas en 1: 1-kopia på USB-media en DD-bild (du kan se det alternativet i listan) och vissa distribueringar, som FreeBSD eller Raspbian, ger faktiskt DD-bilder för USB-installation tillsammans med ISO filer för CD / DVD bränning.

    Således har vi fastställt att ISO-filer faktiskt är dåligt lämpade för att skapa uppstartbara USB-medier eftersom de motsvarar att tillhandahålla en rund pinne för att passa ett mindre kvadrathål, och därför måste rundpinnen ändras för att passa den.

    Nu kanske du undrar om ISO-filer är så dåliga för att skapa uppstartbara USB-medier, varför är de flesta operativsystemdistributörer där ute som tillhandahåller ISO-filer i stället för DD-bilder. Utan historiska skäl är ett av problemen med DD Images det eftersom de är ett partitionerat filsystem om du skapar en 1: 1 kopia på USB-media som är större än den som används av den person som skapade bilden, då kommer du att sluta med den uppenbara "kapaciteten" av ditt USB-medium reducerad till storleken på den som användes för att skapa den ursprungliga DD-bilden.

    Även om optiska skivor och därmed ISO-filer bara kan använda ett av två filsystem (ISO9660 eller UDF), som båda har varit mycket välskötta i alla större operativsystem under mycket lång tid (och låter dig ta en titt vid bildinnehållet före eller efter att du använder det) kan DD Images bokstavligen använda något av de tusentals olika filsystem som finns. Det betyder att även efter att du skapat ditt startbara USB-media kanske du inte kan se något innehåll på det tills du startar det. Det här är exempelvis fallet om du använder FreeBSD USB-bilder på Windows. När det startbara USB-mediet har skapats kommer Windows inte att få tillgång till något innehåll på det tills du har omformaterat det.

    Det är därför leverantörer brukar vilja hålla fast vid ISO-filer där det är möjligt, eftersom det vanligtvis ger en bättre användarupplevelse över alla operativsystem. Men det betyder också att en viss omvandling måste (vanligtvis) inträffa så att vår runda ISO-pinne kan passa snyggt i det mindre "USB-media" -korghålet. Hur hänför sig det till listan över alternativ? Vi kommer till det.

    En av de första sakerna som vanligtvis behöver gå är det ISO9660- eller UDF-filsystem som ISO-filer använder. För det mesta innebär det att extrahera och kopiera alla filer från ISO-filen till ett FAT32- eller NTFS-filsystem, vilket är det som bootable USB-flash-enheter tenderar att använda. Men det betyder naturligtvis att den som skapade ISO-systemet måste ha gjort några bestämmelser för att stödja FAT32 eller NTFS som ett filsystem för direkt användning eller installation (som inte alla människor, särskilt de som lita lite för mycket på ISOHybrid, tenderar att göra).

    Då finns själva boot loader själv, den första biten av kod som körs när en dator stöter från USB-media. Tyvärr är HDD / USB och ISO-laddare mycket olika djur, och BIOS eller UEFI-firmware behandlar också USB och optisk media väldigt annorlunda under uppstartsprocessen. Så du brukar inte ta startläsaren från en ISO-fil (som vanligen skulle vara en El Torito-startladdare), kopiera den till USB-media och förvänta dig att den startar.

    Nu kommer den del som är relevant för vår lista över alternativ. Eftersom Rufus måste tillhandahålla en relevant boot loader-bit, kan den helt enkelt inte hämta den från ISO-filen. Om vi ​​hanterar en Linux-baserad ISO-fil, är chansen att det kommer att använda GRUB 2.0 eller Syslinux, så Rufus inkluderar möjligheten att installera en USB-baserad version av GRUB eller Syslinux (eftersom ISO-filen vanligtvis bara innehåller ISO-specifik version av dem).

    Detta görs vanligtvis automatiskt när du väljer och öppnar en ISO-fil eftersom Rufus är smart nog att upptäcka vilken typ av konvertering den behöver söka. Men om du vill spela runt, ger Rufus dig möjlighet att även installera några tomma starthanterare som gör att du kan starta upp en GRUB- eller Syslinux-prompten. Därifrån kan du skapa / testa dina egna config-filer om du är bekant med dessa typer av startladdare och prova din egen syslinux eller GRUB-baserade anpassade startprocess (för att du i detta skede bara behöver kopiera / redigera filer på USB-mediet för att göra det).

    Så vi kan nu gå över alternativen du hittar i listan:

    • MS-DOS: Detta skapar en tom version av MS-DOS (Windows Me edition), vilket innebär att du startar upp till en MS-DOS-prompten och det är det. Om du vill köra en DOS-applikation måste du kopiera den till ditt USB-media. Observera att det här alternativet endast är tillgängligt på Windows 8.1 eller tidigare, men inte Windows 10 eftersom Microsoft har tagit bort DOS installationsfiler från Windows (och endast Microsoft kan omfördela dessa filer).
    • FreeDOS: Detta skapar en blank version av FreeDOS. FreeDOS är en gratis mjukvaruversion av MS-DOS, som är fullt kompatibel med MS-DOS, men har också fördelen av att vara öppen källkod. Jämfört med MS-DOS kan alla omfördela FreeDOS, så FreeDOS-startfilerna ingår i Rufus.
    • ISO-bild: Detta är det alternativ du bör använda om du har en startbar ISO-fil och vill konvertera den till startbar USB-media. Tänk på att eftersom en omvandling (vanligtvis) måste ske och det finns zillioner sätt att skapa en startbar ISO-fil, finns det ingen garanti för att Rufus kommer att kunna konvertera det till USB-media (men det kommer alltid att berätta om det är fallet).
    • DD Bild: Det här är den metod du ska använda om du har en startbar diskbild, t.ex. de som tillhandahålls av FreeBSD, Raspbian, etc. Filer med en .vhd-förlängning stöds också (vilket är Microsofts version av en DD-bild) samt komprimerad (.gz, .zip, .bz2, .xz, etc.).

    De fyra alternativen ovan är de enda som du kommer att se in Vanligt läge. Men om du kör Rufus i Avancerat läge, Du kommer också ha tillgång till följande val:

    • Syslinux x.yz: Installerar en tom Syslinux-startläsare som får dig till en Syslinux-prompt och inte mycket annat. Du ska veta vad du behöver göra från den tiden framåt.
    • Grub / Grub4DOS: Samma som ovan, men för GRUB / Grub4DOS respektive. Det kommer att få dig till en GRUB-prompten, men det är upp till dig att räkna ut resten.
    • ReactOS: Installerar en experimenterande ReactOS startläsare. Sedan den sista gången jag kollade, startar ReactOS inte så bra från USB-media. Det är där eftersom det var lätt att lägga till och göra med hoppet att det kan hjälpa till med ReactOS-utvecklingen.
    • UEFI-NTFS: Detta kräver att NTFS väljs som filsystemet och installerar en tom UEFI-NTFS-startläsare. Detta möjliggör start från NTFS i rent UEFI-läge (inte CSM) på UEFI-plattformar som inte innehåller en NTFS-drivrutin. Eftersom det är tomt måste du kopiera din egen /efi/boot/bootia32.efi eller /efi/boot/bootx64.efi på NTFS-partitionen för att den ska vara användbar. UEFI-NTFS används automatiskt av Rufus för att arbeta runt FAT32s maximala filstorlek på 4 GB, vilket till exempel tillåter installation av Microsoft Server 2016 i UEFI-läge utan att behöva dela dess 4,7 GB install.wim-fil.

    Hoppas det hjälper. Det här är en förenklad översikt, så jag hoppas att folk inte kommer att börja nitpicking på aspekter som medvetet dumbed-down eller tvingades (som att veta att det är möjligt att ha USB-flash-enheter utan partitioner, för att USB och optisk media ska använda samma fil systemet och att vissa startprocesser har möjlighet att utvidga partitionsstorleken på USB-media för att lösa problemet med lägre apparent kapacitet).


    Har du något att lägga till förklaringen? Ljud av i kommentarerna. Vill du läsa mer svar från andra tech-savvy Stack Exchange-användare? Kolla in hela diskussionsgängan här.

    Bildkrediter: William (SuperUser)