19Aug

Hvorfor laver der en bootbar USB-disk mere kompleks end at skabe bootbare cd'er?

click fraud protection

Oprettelse af bootable cd'er og dvd'er har en tendens til at være en enkel og ligetil proces, men hvorfor er det mere komplekst, når der oprettes bootable flashdrev? Er der virkelig meget forskel på de to? Dagens SuperUser Q & A-indlæg har svaret på en nysgerrig læsers spørgsmål.

Dagens Spørgsmål &Svar session kommer til os høflighed af SuperUser-en underafdeling af Stack Exchange, en community-drevet gruppe af Q & A-websteder.

Spørgsmål

SuperUser læser William ønsker at vide, hvorfor at skabe et bootbart USB-drev, er mere komplekst end at skabe bootable cd'er:

Oprettelse af en bootbar cd er meget enkel, efter min mening er alt du skal gøre, at brænde en ISO-fil til en disk ogdet kan startes. Nu når det kommer til USB-drev, har du mange muligheder. Kan nogen forklare forskellen mellem de to og måske give et kort overblik over de forskellige muligheder?

Hvorfor oprettes et bootbart USB-drev mere komplekst end at skabe bootable cd'er?

Svaret

SuperUser-bidragyder Akeo har svaret for os:

instagram viewer

Rufus-udvikler her. Først og fremmest er mange af de muligheder du nævner kun opført, når du kører Rufus i Advanced Mode ( når Advanced Options Section vises), fordi de er beregnet til folk, der allerede ved, hvad de er til.

Til at begynde med skal du forstå, at ISO-formatet aldrig blev designet til USB-opstart. En ISO-fil er en 1: 1 kopi af en optisk disk, og optiske diskmedier er meget forskellige fra USB-medier, både hvad angår hvordan deres bootloaders skal struktureres, hvilket filsystem de bruger, hvordan de partitioneres( de erikke), og så videre.

Så hvis du har en ISO-fil, kan du simpelthen ikke gøre med USB-medier, hvad du kan gøre med en optisk disk, som læses fra hver enkelt byte af ISO-filen og kopieres som i rækkefølge på disken( hvadCD / DVD-brænderapplikationer gør, når "arbejder" med ISO-filer).

Det er ikke at sige, at denne type 1: 1-kopiering ikke kan eksistere på USB-medier, bare at 1: 1 kopier på USB-medier vil være helt forskellige fra 1: 1 kopier på optiske diske og derfor ikke udskiftelige( uden at brugeISOHybrid-billeder, der er udformet til at fungere som 1: 1 kopier på USB og optisk medie begge).Til rekord, i Rufus-terminologi kaldes en 1: 1-kopi på USB-medier et DD-billede( du kan se denne mulighed på listen), og nogle distributioner som FreeBSD eller Raspbian giver faktisk DD-billeder til USB-installation sammen med ISOfiler til CD / DVD-brænding.

Således har vi fastslået, at ISO-filer egentlig er dårligt egnet til at oprette bootable USB-medier, fordi de svarer til at give en rund pinde, der passer til et mindre firkantet hul, og derfor skal rundpinden ændres for at passe den.

Nu kan du måske undre dig, om ISO-filer er så dårlige til at oprette bootable USB-medier, hvorfor er de fleste operativsystemdistributører derude, der leverer ISO-filer i stedet for DD-billeder. Nå uden for historiske grunde er et af problemerne med DD Images det fordi de er et partitioneret filsystem, hvis du opretter en 1: 1 kopi på USB-medier, der er større end den, der bruges af den person, der skabte billedet,så vil du ende med den tilsyneladende "kapacitet" af dit USB-medium reduceret til størrelsen af ​​den, der bruges til at oprette det originale DD-billede.

Selvom optiske diske og derfor ISO-filer kun kan bruge et af to filsystemer( ISO9660 eller UDF), som begge har været meget velunderbyggede i alle større operativsystemer i meget lang tid( og giver dig mulighed for at tage enkigge på billedindholdet før eller efter at du bruger det), kan DD Images bogstaveligt talt bruge et af de tusindvis af forskellige filsystemer, der findes. Det betyder, at selv efter at du har oprettet dit bootbare USB-medie, kan du muligvis ikke se noget indhold på det, før du starter det op. Dette vil f.eks. Være tilfældet, hvis du bruger FreeBSD USB-billeder på Windows. Når det startbare USB-medie er oprettet, vil Windows ikke kunne få adgang til noget indhold på det, før du reformaterer det.

Derfor har udbydere en tendens til at holde fast ved ISO-filer, hvor det er muligt, da det normalt giver en bedre brugeroplevelse på tværs af alle operativsystemer. Men det betyder også, at nogle konverteringer skal( normalt) forekomme, så vores runde ISO-pinde kan passe fint ind i det mindre "USB-medie" -firkanthul. Hvordan relaterer det sig til listen over muligheder? Vi kommer til det.

En af de første ting, der normalt skal gå, er ISO9660- eller UDF-filsystemet, som ISO-filer bruger. For det meste betyder det at udvinde og kopiere alle filerne fra ISO-filen til et FAT32- eller NTFS-filsystem, hvilket er, hvad startbare USB-flashdrev har tendens til at bruge. Men selvfølgelig betyder det, at den, der skabte ISO-systemet, skal have lavet nogle bestemmelser, der understøtter FAT32 eller NTFS som et filsystem til live brug eller installation( som ikke alle mennesker, især dem, der har lidt for meget på ISOHybrid, har tendens tilat gøre).

Så er der den egentlige boot loader selv, den første bit kode, der udføres, når en computer starter fra USB-medier. Desværre er HDD / USB og ISO boot læssere meget forskellige dyr, og BIOS eller UEFI firmware behandler også USB og optiske medier meget forskelligt under opstartsprocessen. Så du kan normalt ikke tage boot loader fra en ISO-fil( som normalt ville være en El Torito boot loader), kopiere den til USB-medier, og forvent at den starter.

Nu kommer den del, der er relevant for vores liste over muligheder. Fordi Rufus bliver nødt til at levere et relevant boot loader-stykke, kan det simpelthen ikke hentes fra ISO-filen. Hvis vi beskæftiger os med en Linux-baseret ISO-fil, så er chancerne det vil bruge GRUB 2.0 eller Syslinux, så Rufus inkluderer evnen til at installere en USB-baseret version af GRUB eller Syslinux( da ISO-filen normalt kun indeholder ISO-specifik versionaf disse).

Dette sker normalt automatisk, når du vælger og åbner en ISO-fil, da Rufus er smart nok til at registrere, hvilken form for konvertering den skal anvende. Men hvis du vil spille rundt, giver Rufus dig mulighed for også at installere nogle tomme boot-læsere, der gør det muligt at starte en GRUB- eller Syslinux-prompt. Derefter kan du oprette / teste dine egne config-filer, og prøv din helt egen Syslinux- eller GRUB-baserede brugerdefinerede bootproces( fordi du i dette trin kun skal kopiere / redigere filer påUSB-mediet til at gøre det).

Så vi kan nu gå over de muligheder, du finder i listen:

  • MS-DOS: Dette skaber en tom version af MS-DOS( Windows Me-udgave), hvilket betyder at du vil starte til en MS-DOS-prompt og ater det. Hvis du vil køre en DOS-applikation, skal du kopiere den til dit USB-medie. Bemærk, at denne indstilling kun er tilgængelig på Windows 8.1 eller tidligere, men ikke Windows 10, da Microsoft har fjernet DOS-installationsfilerne fra Windows( og kun Microsoft kan omfordele disse filer).
  • FreeDOS: Dette skaber en tom version af FreeDOS.FreeDOS er en gratis softwareversion af MS-DOS, som er fuldt kompatibel med MS-DOS, men har også den fordel at være open source. Sammenlignet med MS-DOS kan enhver omfordele FreeDOS, så FreeDOS boot-filerne er inkluderet i Rufus.
  • ISO Image: Dette er den mulighed, du skal bruge, hvis du har en bootbar ISO-fil og vil konvertere den til bootbar USB-medier. Husk på, at fordi en konvertering( normalt) skal forekomme, og der er zillioner måder at oprette en bootable ISO-fil på, er der ingen garanti for, at Rufus vil kunne konvertere det til USB-medier( men det vil altid fortælle dig, om deter tilfældet).
  • DD Image: Dette er den metode, du skal bruge, hvis du har et bootbart diskbillede, som dem, der leveres af FreeBSD, Raspbian, etc. Filer med en. vhd-udvidelse understøttes også( hvilket er Microsofts version af et DD-billede) såvel som komprimerede dem( .gz,. zip,. bz2,. xz, etc.).

De fire muligheder ovenfor er de eneste, du vil se i Regular Mode .Men hvis du kører Rufus i Advanced Mode , har du også adgang til følgende valg:

  • Syslinux x.yz: Installerer en tom Syslinux boot loader, der får dig til en Syslinux-prompt og ikke meget andet. Du skal vide, hvad du skal gøre fra det punkt fremad.
  • GRUB / Grub4DOS: Samme som ovenfor, men for henholdsvis GRUB / Grub4DOS.Det får dig til en GRUB-prompt, men det er op til dig at finde ud af resten.
  • ReactOS: Installer en eksperimentel ReactOS boot loader. Siden sidste gang, jeg har tjekket, starter ReactOS ikke så godt fra USB-medier. Det er der fordi det var let at tilføje, og gjort med håbet om, at det kan hjælpe med ReactOS-udvikling.
  • UEFI-NTFS: Dette kræver, at NTFS vælges som filsystem og installerer en tom UEFI-NTFS boot loader. Dette muliggør opstart fra NTFS i ren UEFI-tilstand( ikke CSM) på UEFI-platforme, der ikke indeholder en NTFS-driver. Da det er tomt, skal du kopiere din egen /efi/boot/ bootia32.efi eller /efi/boot/ bootx64.efi på NTFS-partitionen for at den kan være nyttig. UEFI-NTFS bruges automatisk af Rufus til at arbejde omkring FAT32s maksimale filstørrelse på 4 GB, som f.eks. Tillader installation af Microsoft Server 2016 i UEFI-tilstand uden at skulle splitte sin 4.7 GB install.wim-fil.

Håber det hjælper. Dette er et forenklet overblik, så jeg håber, at folk ikke vil begynde at nitpicking på aspekter, der bevidst blev dummet eller tavset( som at vide, at det er muligt at have USB-flashdrev uden partitioner, for at have USB og optiske medier bruge samme filsystem, og at nogle opstartsprocesser har evnen til at udvide partitionsstørrelsen på USB-medier for at løse problemet med det nederste tilsyneladende kapacitetsniveau).

Har du noget at tilføje til forklaringen? Lyde af i kommentarerne. Vil du læse flere svar fra andre tech-savvy Stack Exchange brugere? Tjek den fulde diskussionstråd her.

Billedkredit: William( SuperUser)