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

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

    Oprettelse af bootable cd'er og dvd'er har en tendens til at være en simpel, 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 med venlig hilsen af ​​SuperUser-en underafdeling af Stack Exchange, en community-driven gruppe af Q & A-websteder.

    Spørgsmålet

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

    Oprettelse af en bootbar cd er virkelig simpel efter min mening, alt hvad du skal gøre er at brænde en ISO-fil til en disk, og den 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 skaber et bootbart USB-drev mere komplekst end at oprette bootable cd'er?

    Svaret

    SuperUser bidragyder Akeo har svaret for os:

    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 Avanceret tilstand (når Avancerede indstillinger vises), fordi de er beregnet til folk, som 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 er ikke), 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 (hvilken cd / 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 bruge ISOHybrid billeder, der er udformet til at fungere som 1: 1 kopier på USB og optiske medier 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 ISO filer til cd / dvd brænding.

    Således har vi konstateret, at ISO-filer egentlig er dårligt egnet til at oprette bootable USB-medier, fordi de svarer til at give en rund pinde til at passe til et mindre firkantet hul, og derfor skal den runde pind æ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 problemene 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.

    Også mens 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 kigge i billedindholdet før eller efter at du bruger det), kan DD Images bogstaveligt talt bruge et hvilket som helst 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. 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-peg 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 for at understøtte FAT32 eller NTFS som et filsystem til live brug eller installation (som ikke alle mennesker, især dem, der er afhængige af ISOHybrid for lidt, har tendens til at 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 indeholder evnen til at installere en USB-baseret version af GRUB eller Syslinux (da ISO-filen normalt kun indeholder ISO-specifik version af disse).

    Dette gøres 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 bootlastere, der gør det muligt for dig at starte en GRUB- eller Syslinux-prompt. Derefter kan du oprette / teste dine egne config-filer og prøve din helt egen Syslinux- eller GRUB-baserede brugerdefinerede bootproces (da du på dette tidspunkt 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 det er 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 blank 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 billede: Dette er den mulighed, du skal bruge, hvis du har en bootbar ISO-fil og vil konvertere den til startbar 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 det er tilfældet).
    • DD billede: 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) samt komprimeret dem (.gz, .zip, .bz2, .xz, osv.).

    De fire muligheder ovenfor er de eneste, du vil se i Regelmæssig tilstand. Men hvis du kører Rufus i Avanceret tilstand, Du har også adgang til følgende valgmuligheder:

    • Syslinux x.yz: Installerer en tom Syslinux-startlader, 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: Installerer en eksperimentel ReactOS boot loader. Siden sidste gang, jeg kontrollerede, 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 filsystemet 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. Fordi det er tomt, skal du kopiere dit eget /efi/boot/bootia32.efi eller /efi/boot/bootx64.efi på NTFS-partitionen for at det kan være nyttigt. 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 doblet eller tavset (som at vide, at det er muligt at have USB-flashdrev uden partitioner, for at have USB og optiske medier bruge samme fil system, og at nogle opstartsprocesser har evnen til at udvide partitionsstørrelsen på USB-medier for at løse det nederste tilsyneladende problem).


    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)