Installer Windows 7 fra nettet
Contents
Quick Guide
- Boot via FOG og vælg Install Linux Mint -> Boot Linux Mint 12 64bit Live
- Start installationen fra ikonet på skrivebordet
- Vent til windows installationen starter
- Slet IKKE Installations partitionen, men installer på det ledige diskplads.
Hvis det ikke virker, så start partitions manageren og slet alle partitioner manuelt
Oprettelse af partitioner
Har bootet en maskine over netværket med en live version af ubuntu 10.10. Brugt Gparted til at oprette en partitions tabel på disken, og lavet en NTFS partition på 4,5GiB i slutningen af disken. Den skal hedde sda1.
Vil man gøre det via commandline kan man skrive[1]
echo "Sikrer sig de første 5 partitioner bliver slettet, ved ikke hvordan man sletter alt:)" parted /dev/sda rm 1 parted /dev/sda rm 2 parted /dev/sda rm 3 parted /dev/sda rm 4 parted /dev/sda rm 5 parted /dev/sda rm 6 parted /dev/sda rm 7 parted /dev/sda rm 8 parted /dev/sda rm 9 parted /dev/sda rm 10 parted /dev/sda mklabel msdos -s echo "opretter en partition til installations filer" parted /dev/sda mkpart primary 20000 24500 # opretter en partition midt i, da man ikke kan bruge -4500 -0 fra kommando linien. mkfs.ntfs /dev/sda1
Kopiere installations filer
Har installeret nfs-common på live ubuntu. og ændret i nsswitch så den ikke bruge mDNS
sudo bash apt-get install nfs-common mkdir /mnt/iso mkdir /mnt/win7 mkdir /mnt/hdd mount mercstor.tekkom.local:/data/raid/iso /mnt/iso mount /mnt/iso/Microsoft/Windows/Windows\ 7\ Professional\ \(x64\)\ -\ DVD\ \(English\)/en_windows_7_professional_x64_dvd_X15-65805.iso /mnt/win7 -o loop mount /dev/sda1 /mnt/hdd cp -r /mnt/win7/* /mnt/hdd
At Boote Grub4dos
Har fået det til at virke på 2 måder med at loade grub4dos som loader windows installeren.
Via PXE
Alle filer er kopieret genstarter man kassen og vælger boot grub4dos i FOG menu'en - Den er sat op til at starte grub4dos med hd0,1 som root.
Udsnit fra pxelinux.cfg/default
LABEL install.windows root (hd0,1) kernel InstallTest/grub.exe MENU LABEL Boot grub4dos TEXT HELP This will boot grub4dos to install Windows 7 from hd0,1 ENDTEXT
Via MBR
inden man genstarter kassen skal man downloade grub4dos og pakke den ud. I zip filen ligger der et program kalder bootlace.com til at oprette en MBR.[2]
wget grub4dos.zip unzip grub4dos.zip cd grub4dos ./bootlace /dev/sda cp grldr /mnt/hdd
opret en fil i /mnt/hdd der hedder menu.lst, filen skal indeholde følgende.
# This is a sample menu.lst file. You should make some changes to it. # The old install method of booting via the stage-files has been removed. # Please install GRLDR boot strap code to MBR with the bootlace.com # utility under DOS/Win9x or Linux. color blue/green yellow/red white/magenta white/magenta timeout 5 default /default title Install Windows 7 fallback 1 find --set-root --ignore-floppies /bootmgr chainloader /bootmgr savedefault --wait=2
Start af Windows installer
Indtast følgende under grup og windows installatinen vil nu starte...
grub>find --set-root /bootmgr grub>chainloader /bootmgr grub>boot
Man kan nu fra windows' Disk Manager slette installations partitionen og udvide sin windows partition så den også fylder de sidste 4,5 GiB.
Automatisering
Et lille script der kan klare det hele, er smidt på fog.tekkom.dk/win7/install.sh.
Kaldes med:
sudo bash wget fog.tekkom.dk/win7/install.sh chmod +x install.sh ./install.sh reboot
Scriptet ser sådan her ud:
#! /bin/bash
#Nu afinstallerer vi avahi for at kunne lave opslag på .local domainer
apt-get purge avahi-daemon -y
#Opsætning af disken begynder her
echo "Sikrer sig de første 5 partitioner bliver slettet, ved ikke hvordan man sletter alt:)"
parted /dev/sda rm 1
parted /dev/sda rm 2
parted /dev/sda rm 3
parted /dev/sda rm 4
parted /dev/sda rm 5
parted /dev/sda rm 6
parted /dev/sda rm 7
parted /dev/sda rm 8
parted /dev/sda rm 9
parted /dev/sda rm 10
parted /dev/sda mklabel msdos -s
echo "opretter en partition til installations filer"
parted /dev/sda mkpart primary NTFS 1 4500
#mkfs.ntfs /dev/sda1
mkntfs -Q -v -L "" /dev/sda1
#installer nfs-common for at kunne mounte NFS foldere.
apt-get install nfs-common -y
# Finder instalations filer frem og kopierer dem
echo "Creating Dirs..."
cd /mnt
mkdir win7 hdd iso
mount mercstor.tekkom.local:/data/raid/iso iso
mount /mnt/iso/Microsoft/Windows/Windows\ 7\ Professional\ \(x64\)\ -\ DVD\ \(English\)/en_windows_7_professional_x64_dvd_X15-65805.iso win7 -o loop
mount /dev/sda1 hdd
echo "Done"
echo "Copying installation files..."
cp -r win7/* hdd/
echo "Done"
#opretter grub4dos på MBR
wget fog.tekkom.dk/win7/grub4dos-0.4.4.zip
unzip grub4dos-0.4.4.zip
cd grub4dos-0.4.4
./bootlace.com /dev/sda
cp grldr /mnt/hdd
#opretter boot menu
echo "color blue/green yellow/red white/magenta white/magenta" > /mnt/hdd/menu.lst
echo "timeout 5" >> /mnt/hdd/menu.lst
echo "default /default" >> /mnt/hdd/menu.lst
echo "title Install Windows 7" >> /mnt/hdd/menu.lst
echo "fallback 1" >> /mnt/hdd/menu.lst
echo "find --set-root --ignore-floppies /bootmgr" >> /mnt/hdd/menu.lst
echo "chainloader /bootmgr" >> /mnt/hdd/menu.lst
echo "savedefault --wait=2" >> /mnt/hdd/menu.lst
echo "Installation Done - Please reboot"
reboot
Tilret Linux Mint til en Easy Installer
Med Easy Installer menes at der kommer til at ligge et installations ikon på skrivebordet når man starter den op fra netværket.
Krav
Squashfs-tools skal bruges til at udpakke og pakke systemet.
aptitude install squashfs-tools
Udpak SquashFS
Her pakker jeg Linux Mint 12 Lisa's SquashFS[3] ud for at rette i den. Den er fundet på den udpakkede Mint 12 ISO under mappen Casper
root@server#unsquashfs filesystem.squashfs Parallel unsquashfs: Using 4 processors 163149 inodes (172068 blocks) to write [=========================================================-] 172068/172068 100% created 112301 files created 16362 directories created 50765 symlinks created 82 devices created 0 fifos root@server# cd squashfs-root/ root@server# ls bin dev home lib media opt root sbin srv tmp var boot etc initrd.img lib64 mnt proc run selinux sys usr vmlinuz
Tilrette SquashFS
Under opstarten fra "CD'en" opretter Mint en bruger som den automatisk logger på med. For at tilføje et program til denne brugers profil, skal det smides i /etc/skel som bliver brugt til template for brugerens Home dir.
Under /etc/skel har jeg tilføjet en mappe kaldet "Desktop" hvor jeg har smidt installations filerne i.
Oprette SquashFS igen
For at lave det nye tilrettede filsystem om til en SquashFS igen bruges mksquashfs
root@server# mksquashfs squashfs-root/ filesystem.squashfs Parallel mksquashfs: Using 4 processors Creating 4.0 filesystem on filesystem.squashfs, block size 131072. [=========================================================\] 121221/121221 100% Exportable Squashfs 4.0 filesystem, data block size 131072 compressed data, compressed metadata, compressed fragments duplicates are removed Filesystem size 1013466.99 Kbytes (989.71 Mbytes) 36.58% of uncompressed filesystem size (2770493.90 Kbytes) Inode table size 1823334 bytes (1780.60 Kbytes) 25.72% of uncompressed inode table size (7089829 bytes) Directory table size 1810882 bytes (1768.44 Kbytes) 40.87% of uncompressed directory table size (4430873 bytes) Number of duplicate files found 13091 Number of inodes 179513 Number of files 112302 Number of fragments 7647 Number of symbolic links 50765 Number of device nodes 82 Number of fifo nodes 0 Number of socket nodes 0 Number of directories 16364 Number of ids (unique uids + gids) 31 Number of uids 12 root (0) statd (104) man (6) daemon (1) lp (7) unknown (1000) unknown (112) unknown (111) sshd (102) unknown (999) libuuid (100) landscape (105) Number of gids 30 root (0) video (44) audio (29) tty (5) fuse (104) kmem (15) disk (6) daemon (1) dip (30) lp (7) unknown (1000) shadow (42) unknown (117) unknown (116) unknown (112) unknown (111) utmp (43) crontab (102) mail (8) unknown (110) dhcpd (107) unknown (999) unknown (121) staff (50) libuuid (101) unknown (118) mlocate (105) landscape (108) unknown (125) adm (4) root@server#
Hotfixes og Unattended
Nu skal Windows installationen bare rettes til så den indeholder Hotfixes og en Unattended installation.
Dertil kan vLite bruges, og så skal den tilrettede ISO bare smides istedet for dem der bliver brugt nu.