Hemsida » hur » Så här PXE startar en Ubuntu-bild från Windows Server 2008

    Så här PXE startar en Ubuntu-bild från Windows Server 2008

    Den här guiden förklarar hur du konfigurerar en Windows Server 2008-maskin för att skjuta ut en statisk Ubuntu-bild som kan hämtas av diskfria terminaler, så att du kan få ett antal maskiner att köra en helt funktionell instans av Ubuntu utan att ha en hårddisk, så länge de har möjlighet att starta PXE.

    Detta är en gästartikel av Alexander Karnitis och Cody Dull, två läsare som arbetar för Hyndman Inc och var tvungna att räkna ut hur man utför denna uppgift för sitt jobb. De var vänliga nog att skriva upp processen för alla andra.

    Varför vill jag ha det här?

    PXE-uppstart gör det både enklare och billigare att hantera ett nätverk, och möjligheten att servera anpassade Ubuntu-bilder från en Windows Server kan bidra till att din miljö blir robustare. Du kan använda dessa bilder för att ge användarna samma grundläggande miljö att fungera från, ha ett lättåterställt system (bara maskinens strömbrytare), utföra diagnostik på en funktionsfel och mer. Genom att även betjäna dessa bilder från en Windows Server skulle det vara möjligt att betjäna både Windows och Ubuntu-bilder från en enda plats, men det ligger utanför ramen för denna guide.

    Vad behöver jag?

    • Windows Server 2008-maskin som kör Windows Deployment Services (WDS)
    • Klient som har möjlighet att starta PXE
    • Windows Server Machine kör DHCP
    • En NFS-server (den här guiden förutsätter att NFS-servern är densamma som WDS-servern, men det behöver inte vara fallet)

    Skapa WDS-servern

    Installera Windows Deployment Services på en Windows-server är inte fruktansvärt svårt, och Microsoft har bra guider för att gå igenom installationsprocessen (2008 och 2008 R2 här), så den här guiden täcker inte hur du gör det, men vet att du vill ha både Deployment Server och Transport-servern. Observera också att när du konfigurerar rollen vill du kolla rutan "Svara på alla (kända och okända) klientdatorer" under installationen, såvida inte de datorer som du startar är kända för Active Directory. Detta beror på att servern hänvisar till Active Directory som auktoritet på vad som är känt och okända enheter.

    Guiden ska följas upp till avsnittet "Steg för att lägga till bilder", eftersom vi lägger till våra bilder via pxelinux, inte WDS.

    Installera pxelinux

    Hämta och extrahera en kopia av syslinux (en möjlig källa finns här). Härifrån kommer vi att kopiera de filer som pxelinux behöver springa över i WDS-katalogen. Specifikt för pxelinux 5.01 betyder det att vi kommer att kopiera över följande filer:

    · Core \ pxelinux.0

    · Com32 \ menyn \ vesamenu.c32

    · Com32 \ lib \ libcom32.c32

    · Com32 \ elflink \ ldlinux.c32

    · Com32 \ libutil \ libutil.c32

    · Com32 \ chain \ chain.c32

    Dessa filer kopieras över till önskad arkitekturkatalog (\ boot \ x64, \ boot \ x86 eller båda). Efter att ha kopierat filerna bör arkitekturkatalogen likna detta (det finns små skillnader mellan x86 och x64, men inte för pxelinux).

    Här ligger arkitekturkatalogerna under katalogen som specificerades för att hålla WDS-filerna vid anpassning av WDS-rollen.

    Vid denna tidpunkt kommer vi inte längre använda någon annan syslinux-fil, så syslinux-katalogen kan säkert tas bort.

    Konfigurera PXElinux

    Konfigureringsfilen pxelinux kan anpassas starkt för att ge en unik startmeny för olika datorer baserat på en hårdvaru-typ och hårdvaruadress eller baserad på en IP-adress eller ett intervall av IP-adresser (mer om det här) och kan ge en hel del startmetoder och ett ganska robust menysystem (mer om det här). För den här grundläggande guiden kommer vi dock att hålla oss till standard config-filen och förklara den grundläggande menyn som kan användas för att pxeboot en liveCD. Till att börja med måste konfigurationsfilerna vara placerade i en undermapp med namnet "pxelinux.cfg", så skapa den mappen i samma katalog som du kopierade över pxelinuxfilerna till. Vi skapade också en "Bilder" -mapp tillsammans med mappen pxelinux.cfg för att lagra alla våra Linux-bilder. Vid denna tidpunkt bör arkitekturmappen se något ut så här:

    Nu, i mappen pxelinux.cfg, skapa en fil som heter "default" utan en filtillägg.

    Öppna filen i en textredigerare som anteckningsblock och skriv följande:


    DEFAULT vesamenu.c32
    PROMPT 0
    NOESCAPE 0
    ALLOWOPTIONS 0

    # Timeout i enheter på 1/10 s

    TIMEOUT 30 # 3 andra timeout.
    MENU MARGIN 10
    MENU RADS 16
    MENU TABMSGROW 21
    MENY TIMEOUTROW 26
    MENU COLOR BORDER 30; 44 # 20ffffff # 00000000 none
    MENU COLOR SCROLLBAR 30; 44 # 20ffffff # 00000000 ingen
    MENU COLOR TITLE 0 #ffffffff # 00000000 none
    MENU COLOR SEL 30; 47 # 40000000 # 20ffffff
    MENU TITEL Netboot Menu

    # -Ett exempel liveCD boot

    MÄRKA

    kärna Bilder / UbuntuLIVE / casper / vmlinuz #location av kärnan

    append boot = casper netboot = nfs nfsroot =: / RemoteInstall / Boot / x64 / Bilder / UbuntuLIVE initrd = Bilder / UbuntuLIVE /casper/initrd.gz

    Observera att den här inställningen förutsätter att bilden är lagrad under Bilder / UbuntuLIVE från arkitekturkatalogen.

    För mer information om vad detta gör kan du titta på:

    • https://www.howtogeek.com/61263/how-to-network-boot-pxe-the-ubuntu-livecd/

    Skapa en NFS-del

    Att skapa en NFS-del är också ganska enkel på Windows-servern, och kan göras genom att följa stegen här. Det finns dock några saker att notera med avseende på tillåtelser.

    Först måste NTFS-behörigheter i delmappen ändras, eftersom gruppen Alla måste ha läs och kör behörigheter.

    Se till att den skapade delen är en NFS-del, inte en SMB-andel.

    Dessutom måste alla maskiner ha anonym tillgång, och alla NTFS-behörigheter måste tillämpas på anonyma användare.

    När allt är inställt kan det ta ett tag för alla inställningar att sprida sig via nätverket, men när de gör det borde det vara möjligt att börja visa LiveCDs i din Windows Server-låda! För att testa servern kan du dela en enkel LiveCD från Ubuntus hemsida. Det är dock också möjligt att servera en anpassad LiveCD. Om du planerar att göra någon grundläggande konfiguration till LiveCD kan du följa artikeln:

    • https://www.howtogeek.com/109736/how-to-create-a-custom-ubuntu-live-cd-or-usb/

    Men om du vill göra en mer intensiv anpassning som tweaking Unity, som inte kan bli bra med hjälp av ovanstående metod, eller om du vill ta en enkel maskin och servera identiska kopior av den, en annan ganska enkel metod som kommer att tillåter dig att göra en bild som kan serveras är som följer:

    Skapa och anpassa din Ubuntu Live CD

    Att skapa en ny anpassad bild är lätt. Ladda ner och installera en virtuell maskinspelare om du inte redan har en. Stegen i den här guiden är för Oracle VM VirtualBox. https://www.virtualbox.org/wiki/Downloads

    Skapa en ny virtuell maskin, välj Linux som Typ och Ubuntu eller Ubuntu (64 bit) som Versionen, beroende på din inställning, klicka på Nästa.

    Välj den mängd minne som ska tilldelas, minst 1024 MB rekommenderas, klicka på Nästa.

    Välj att skapa en ny virtuell hårddisk nu av typen VDI och gör den dynamisk tilldelad.



    Slutligen ställa in storleken på den virtuella hårddisken. 4 GB är minimum, men 6-8 GB rekommenderas.

    Hämta Ubuntu 12.04 LTS Live CD från Ubuntus hemsida. Se till att du väljer samma version som du valde i steg 2. http://www.ubuntu.com/download/desktop

    Gå till inställningarna för den VM du just skapat. Under lagring klickar du på den ena disken under Kontroller: IDE. Till höger på skärmen under attribut, klicka på disken med en pil bredvid fältet CD / DVD-enhet. Klick Välj en virtuell fil. Navigera till var du hämtade på Live CD och välj den.

    Nu kan du starta VM och installera Ubuntu 12.04.

    När du har installerat, gör alla önskade ändringar. Några av de förändringar som vi inkluderade:

    • Om det här kommer att användas av alla utom systemadministratörer, skapa ett användarkonto som en standardanvändare, sätt det att logga in automatiskt utan att behöva lösenord.
    • Ta bort eventuella onödiga program beroende på syftet med den slutliga bilden. Några större program som kan tas bort om det inte behövs är: Firefox, LibreOffice, Gwibber, Thunderbird, empati och några spel. Du kan göra det här med att använda aptitude purge kommando i terminal eller genom att installera Synaptic Package Manager från Ubuntu Software Center.
    • Under Startprogram, skapa en post för något program du vill köra vid starttid. Om till exempel, om dessa maskiner kommer att användas huvudsakligen för fjärrskrivbordskontakter, ställ in Remmina fjärrskrivbord till automatisk start.
    • För att ändra standardupplösningen, skapa en fil som kör xrandr-kommandot.
      • Ett exempelskript som vi brukade stänga av den integrerade bildskärmen på våra tunna klienter och ändra upplösningen på de medföljande bildskärmarna var följande två linjer:
        xrandr - utmatning LVDS1 -offx

        randr --output VGA1 - primära - mod 1280x1024

      • Gör filen körbar och lägg till den till Startprogram.
      • Ytterligare kommandon kan köras vid starttid med den här metoden.
      • Tänk på att detta bara kommer att fungera om alla dina maskiner märker deras skärmar på samma sätt. Om du har flera modeller kan ett mer sofistikerat tillvägagångssätt vara nödvändigt.
    • Lås upp eventuella återstående ikoner från startprogrammet som inte behöver vara där och lägg till något du vill lägga till.

    Efter att ha gjort alla anpassningar måste du installera Remastersys. Trots vissa inlägg kan du hitta på forum, Remastersys är fortfarande igång.

    • Skaffa sig Synaptic Package Manager genom att antingen ange sudo apt-get install synaptic vid terminalen eller få den ifrån Ubuntu Software Center.
    • Kör följande kommando i terminal för att ladda ner gpg-nyckelens arkiv:
      sudo wget -O -http: //www.remastersys.com/Ubuntu/remastersys.gpg.key | apt-key lägg till -
    • Öppna filen här formen i en textredigerare med sudo-rättigheter lägger du till följande rad, ändrar exakt till din version om det behövs: deb http://www.remastersys.com/ubuntu exakt huvud
    • Öppna synaptic och söka efter Remastersys. Markera paketet Remastersys och Remastersys-gui För att installeras trycker du på för att installera.
    • Öppna Remastersys-gui och välj Säkerhetskopiering.

    Du har nu en egen levande cd. Nästa steg är att överföra det till din server. Om du har följt Ubuntu-guiden Konfigurera Windows Server 2008 till PXE startar du stegen för att distribuera bilden.

    • Kör följande kommando i terminal för att göra Ubuntu VM till en NFS-klient. sudo apt-get installera rpcbind nfs-common
    • Skapa en katalog för att montera NFS-delen på. sudo mkdir / NFS
    • Du måste nu montera en NFS-del med skrivtillstånd som beviljats. Det rekommenderas att du skapar en extra del för att överföra filer från klient till server som du delar, för pxe boot-filsystemet har normalt inte denna behörighet.
      sudo mount: / / NFS
      ex. sudo mount 192.168.1.24:/TempNFS / NFS
    • Kopiera den nyskapade iso till den monterade delen
      sudo cp /home/remastersys/remastersys/custom-back.iso / NFS
    • Vid denna tidpunkt är du klar med Ubuntu VM. På din Windows-server, gå till var iso kopierades och extrahera innehållet med hjälp av ett bearbetningsverktyg för bildfil som Power ISO. http://www.poweriso.com/download.htm
    • Skapa en mapp under / boot / x64 / Images och kopiera innehållet i iso till den här mappen.
    • Om din server är korrekt konfigurerad ska du nu se din anpassade Ubuntu Live-CD som en av pxe-startalternativen när du startar upp din diskfria klient.

    För att ändra den anpassade bilden, gå tillbaka till VM och upprepa stegen ovanifrån och börja med det steg där du valde den diskbild som ska startas från. Den här gången, istället för att använda standard-cd som hämtats från Ubuntu, kommer du att använda den backup-iso-fil du exporterade.