19Aug

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 fråga &Svarssession 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:

Att skapa en startbar CD är väldigt enkel enligt min uppfattning, allt du behöver göra är att bränna en ISO-fil till en skiva ochdet 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 komplex än att skapa startbara CD-skivor?

Svaret

SuperUser-bidragare Akeo har svaret för oss:

Rufus utvecklare här. Först och främst är många alternativ du nämner listade endast när du kör Rufus i Advanced Mode ( när Advanced Options Section 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 skivmedia skiljer sig mycket från USB-media, både vad gäller hur deras startläsare ska struktureras, vilket filsystem de använder, hur de partitioneras( de ärinte), 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( vadCD / DVD-brännare gör det när "fungerar" med ISO-filer).

Det är inte att säga 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( utan att användaISOHybrid-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 ISOfiler 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 startbara 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 startbara USB-media, varför är de flesta operativsystemdistributörer där ute som tillhandahåller ISO-filer i stället för DD-bilder. Tja, av 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ändes 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älstödda i alla större operativsystem under mycket lång tid( och låter dig ta entitta på bildinnehållet före eller efter att du använt 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 upp det. Det här är till exempel fallet om du använder FreeBSD USB-bilder på Windows. När det startbara USB-mediet har skapats kommer Windows inte att kunna komma åt 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 ISO9660- eller UDF-filsystemet 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 självklart 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 live användning eller installation( vilket inte alla människor, särskilt de som lita lite för mycket på ISOHybrid, tenderaratt 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-läsare väldigt 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 startas.

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 versionav 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 det behöver användas. 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 en GRUB- eller Syslinux-prompten. Därifrån kan du skapa / testa egna konfigurationsfiler om du är bekant med dessa typer av laddningslastare 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 en MS-DOS-prompten och attä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 tog bort DOS-installationsfilerna 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: Det här alternativet ska du 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) liksom komprimerade( .gz,. zip,. bz2,. xz, etc.).

De fyra alternativen ovan är de enda som du kommer att se i Regular Mode .Men om du kör Rufus i Advanced Mode , kommer du också ha tillgång till följande alternativ:

  • 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 bootloader. Sedan den sista gången jag kollade, startar ReactOS inte så bra från USB-media. Det är där för att 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 ska väljas som filsystem och installerar en tom UEFI-NTFS-startläsare. Detta möjliggör uppstart 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 upp sin 4,7 GB install.wim-fil.

Hopp som 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 filsystemet 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)