Well, the only requisite is to use the "generalize" option with sysprep
Posts made by cfinnberg
RE: Hardware agnostic image?
Thanks for the answer. I had already done that but didn't work. If I understand it correctly, using CD we bypass the WinPE and OfflineServicing passes altogether, so it is not going to work. I have to find something that works on the Specialize pass or that can be done from Linux (at deployment phase).
Windows installation stages: https://technet.microsoft.com/fi-fi/library/cc749307(v=ws.10).aspx
Hardware agnostic image?
I know this is offtopic but I just want try if someone here have a solution, otherwise I will probably have to jump to MDT. I want to make a hardware agnostic W10 image as we have 3 different models of computers. When we were with W7, there was no problem as I can inject drivers after the image deployment process and before the computer first start and Windows can find those drivers (I even had a post in old CrucibleWDS forums with the process). But it seems that in Windows 10 I can no longer get Windows to install drivers on time. At least not the network drivers that computer needs to join the domain.
I have tried to add drivers to C:\Windows\System32\DriverStorage\FileRepository and C:\Windows\INF but without luck. I have also added a custom folder C:\Drivers to registry key HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\DevicePath and I get the network driver installed but after the reboot it does after it has failed to join to the domain.
So does someone knows a proper way to inject drivers to the computer before the first start so the setup process can find them?
Thanks a lot! Any help is welcome.
Unofficial guide to update on Linux
Thanks to CD's developer for the mention! (Sorry I don't know your name)
As there is no official guide to update on Linux yet, I have made one of my own. I hope it helps someone.
Disclaimer: Use this at your own risk!
I had used this method successfully in an Ubuntu 16.04.1 LTS box
Note: CloneDeploy upgrades are incremental. Only 1.1.x can be directly upgraded to CloneDeploy 1.2.0. DO NOT attempt to upgrade from 1.0.x to 1.2.0. You must first upgrade to 1.1.x
Recommended before the upgrade: Update your linux box:
[code]sudo apt update && sudo apt upgrade
sudo reboot #(if necessary)[/code]
- sudo su
- Download and unzip CloneDeploy-1.2.0-upgrade.zip to your home folder:
[code]wget --content-disposition -P ~ https://sourceforge.net/projects/clonedeploy/files/CloneDeploy 1.2.0/clonedeploy-1.2.0-upgrade.zip/download[/code]
[code]unzip ~/clonedeploy-1.2.0-upgrade.zip -d ~[/code]
- Update tftpboot:
[code]cp -r ~/clonedeploy-1.2.0-upgrade/tftpboot/* /tftpboot[/code]
- Stop Apache service:
[code]service apache2 stop[/code]
- Rename CloneDeploy folder:
- Copy the new CloneDeploy folder:
[code]cp -r ~/clonedeploy-1.2.0-upgrade/web /var/www/html/clonedeploy[/code]
- Copy the old config from the old folder to the new CD folder:
[code]cp /var/www/html/clonedeploy.bak/web.config /var/www/html/clonedeploy/[/code]
- Repair permissions in CD folder:
[code]chown www-data.www-data /var/www/html/clonedeploy[/code]
- Backup CD database (enter your database password when prompted):
[code]mysqldump clonedeploy -v -u root -p > ~/cdbackup.sql[/code]
- Update CD database (enter your database password when prompted):
[code]mysql clonedeploy -v -u root -p < ~/clonedeploy-1.2.0-upgrade/1.2.0-update.sql[/code]
- Restart Apache service:
[code]service apache2 start[/code]
- Log in and check that it shows the updated version and that everithing works ok:
Note: You may need to clear your browser’s cache to reflect the new web design
- Delete temporal files and exit from sudo:
[code]rm -rf ~/clonedeploy-1.2.0-upgrade
I hope there is no writing errors!
RE: Wrong instructions for tftpd in Ubuntu
you have updated the symlinks part but not the duplicated daemon part. Sorry for the (probably unnecessary) explanation. In linux programs can run as services or daemons in two different ways: Standalone way or xinetd way. In standalone way the program is running all the time waiting for possible petitions from "clients". In xinetd way, the xinet daemon is the one listening for petitions and it's its duty to wake up the services/programs it controls if necessary. Xinetd is preferred when there is few resources in the system.
In your docs you setup both ways, which is illogical as only one program can be bind to a port. So, in my opinion the correct instruction should be:
If Standalone is used:
apt-get -y install tftpd-hpa
TFTP_OPTIONS="-s"" > /etc/default/tftpd-hpa
service tftpd-hpa restart
service apache2 restart
If xinetd is used:
apt-get -y install xinetd tftpd-hpa
echo "service tftp
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -s /tftpboot
disable = no
per_source = 11
cps = 100 2
flags = IPv4
}" > /etc/xinetd.d/tftp
service xinetd restart
service apache2 restart
In my opinion in case of doubt, if it is not a very limited server and xinetd is not already in use, Standalone way is the way to go. Hope it helps.
RE: EFI / UEFI problem. No boot after deployment.
Yep! The label/description did the trick. I had noticed this already and tried to change it but apparently one can not modify the label of an already created entry. Shame that I didn't pursued this further but yesterday after the debugging I was a little exhausted and did't think with clarity
What I did now was to delete the Windows entry (the one that works) and recreated myself manually with the correct label. And it worked like a charm.
Just for reference and for others, there is a "typo" in the code you gave me. The correct one is:
[code]efibootmgr -c -d $hard_drive -p "$(parse_json "$current_partition" .Number)" -L "Windows Boot Manager" -l "$(parse_json "$current_partition" .EfiBootLoader)" 2>>$CLIENT_LOG[/code]
Thanks a lot!
EFI / UEFI problem. No boot after deployment.
Hi, I hope someone can help me. I have been trying to solve a problem by myself but I haven't succeed. I have created a Image (Win 10) for deployment. Original computer is Lenovo P700 Workstation in EFI mode. Image is syspreped and works well as I have deployed it to similar computers.
The problem arises when I try to deploy to certain model of computer. In this case is a Lenovo Thinkstation E30. This computer is older and does not support UEFI PXE boot, so I have used the ISO boot method. Deployment goes well but after rebooting, the computer does not find any bootable OS.
I can solve the problem manually executing recboot /fixboot from a Windows Recovery Console but, of course, I want to avoid this if possible.
Attached is the deployment log. There is a bunch of partitions warnings but I don't think they are relevant. I think the problem is in the EFI table updating, but I don't know how to solve it.
I have tried with another image created in the same model of computer but the result is the same.
Thanks in advance!
RE: Wrong instructions for tftpd in Ubuntu
Also, I have notice that the symbolic links should use relative paths.
ln -s /tftpboot/images /tftpboot/proxy/bios/images
ln -s /tftpboot/images /tftpboot/proxy/efi32/images
ln -s /tftpboot/images /tftpboot/proxy/efi64/images
ln -s /tftpboot/kernels /tftpboot/proxy/bios/kernels
ln -s /tftpboot/kernels /tftpboot/proxy/efi32/kernels
ln -s /tftpboot/kernels /tftpboot/proxy/efi64/kernels
It should be:
ln -s ../../images /tftpboot/proxy/bios/images
ln -s ../../images /tftpboot/proxy/efi32/images
ln -s ../../images /tftpboot/proxy/efi64/images
ln -s ../../kernels /tftpboot/proxy/bios/kernels
ln -s ../../kernels /tftpboot/proxy/efi32/kernels
ln -s ../../kernels /tftpboot/proxy/efi64/kernels