diff --git a/howtos/install-chrome-browser-linux-mint/index.html b/howtos/install-chrome-browser-linux-mint/index.html index 577e694..1cb58ac 100644 --- a/howtos/install-chrome-browser-linux-mint/index.html +++ b/howtos/install-chrome-browser-linux-mint/index.html @@ -830,7 +830,7 @@

Add Google's Chrome repository

Update package list

-
+
sudo apt update
@@ -850,7 +850,8 @@ 

Update package list

11 12 13 -14
guru@hp:~/Downloads$ sudo apt update
+14
+15
guru@hp:~$ sudo apt update
 Ign:1 https://mintlinux.mirror.wearetriple.com/packages vera InRelease
 Hit:2 https://mintlinux.mirror.wearetriple.com/packages vera Release                                        
 Get:3 http://dl.google.com/linux/chrome/deb stable InRelease [1.825 B]                                      
@@ -864,12 +865,13 @@ 

Update package list

Building dependency tree... Done Reading state information... Done 175 packages can be upgraded. Run 'apt list --upgradable' to see them. +guru@hp:~$

Install Chrome

-
+
sudo apt install google-chrome-stable
@@ -907,7 +909,7 @@ 

Install Chrome

29 30 31 -32
guru@hp:~/Downloads$ sudo apt install google-chrome-stable
+32
guru@hp:~$ sudo apt install google-chrome-stable
 Reading package lists... Done
 Building dependency tree... Done
 Reading state information... Done
@@ -938,7 +940,7 @@ 

Install Chrome

Processing triggers for man-db (2.10.2-1) ... Processing triggers for mailcap (3.70+nmu1ubuntu1) ... Processing triggers for desktop-file-utils (0.26+mint2+vera) ... -guru@hp:~/Downloads$ +guru@hp:~$
diff --git a/search/search_index.json b/search/search_index.json index 9da6bdf..ee282bb 100644 --- a/search/search_index.json +++ b/search/search_index.json @@ -1 +1 @@ -{"config":{"lang":["en"],"separator":"[\\s\\-]+","pipeline":["stopWordFilter"]},"docs":[{"location":"","title":"Welcome!","text":"1234

Jun 06, 2023 - in Howtos - 20 min guide

VirtualBox is a powerful virtualization software that allows you to create and run virtual machines on your computer. Developed by Oracle, VirtualBox enables you to emulate multiple operating systems within a single physical machine.

Continue reading

Sep 10, 2023 - in Howtos - 5 min guide

Minicom is an open source clone of the MS-DOS \"Telix\" communication program. It emulates ANSI and VT102 terminals, has a dialing directory and auto zmodem download.

Continue reading

Jun 08, 2023 - in Howtos - 5 min guide

Packet Tracer is a cross-platform visual simulation tool designed by Cisco Systems that allows users to create network topologies and imitate modern computer networks. It simulates, not emulates, the configuration of Cisco routers and switches.

Continue reading

Apr 05, 2023 - in Tutorials - 90 min lesson

Operating systems can coexist without (too many) conflicts, as long as you careful partition and follow installation procedures. Windows for software compatibility, multimedia and gaming. Linux for development, customization, security, ...

Continue reading

Apr 05, 2024 - in Tutorials - 180 min lesson

Setting up a Windows client/server test lab in VirtualBox provides a cost-effective and efficient way to experiment with various network configurations, software installations, and system setups without the need for physical hardware...

Continue reading

Jun 15, 2023 - in Tutorials - 90 min lesson

Virtualizing an OS is interesting because it allows for the creation of isolated and self-contained virtual environments that can run on a single physical machine, enabling efficient resource utilization and flexibility in testing, development...

Continue reading

Jun 15, 2023 - in Tutorials - 120 min lesson

Virtualizing an OS is interesting because it allows for the creation of isolated and self-contained virtual environments that can run on a single physical machine, enabling efficient resource utilization and flexibility in testing, development...

Continue reading

Jun 08, 2023 - in Howtos - 10 min guide

Google Chrome browser is a popular web browser developed by Google that offers a fast, secure, and feature-rich browsing experience. It is based on the open-source Chromium project and supports a wide range of extensions and platforms.

Continue reading

Jun 06, 2023 - in Howtos - 20 min guide

VirtualBox is a powerful virtualization software that allows you to create and run virtual machines on your computer. Developed by Oracle, VirtualBox enables you to emulate multiple operating systems within a single physical machine.

Continue reading

Jun 03, 2023 - in Tutorials - 90 min lesson

Operating systems can coexist without (too many) conflicts, as long as you careful partition and follow installation procedures. Windows for software compatibility, multimedia and gaming. Linux for development, customization, security, ...

Continue reading

May 28, 2023 - in Howtos - 20 min guide

Factory reset = restore to default settings. Erase all configuration settings, including IP addresses, hostname, passwords, VLANs and other settings. Ready for network deployment, troubleshooting, resale or decommissioning.

Continue reading

May 25, 2023 - in Howtos - 10 min guide

ROMMON is a seperate firmware component embedded in the hardware of Cisco devices, a small program that runs - after POST - when a device is powered on or during the boot process. It is responsible for providing basic boot and recovery functionality.

Continue reading

May 18, 2023 - in Howtos - 15 min guide

Cisco switches have a password recovery procedure that involves booting the switch into a special mode that allows you to reset the password. If you are unable to recover the password, you can perform a factory reset of the switch.

Continue reading

March 10, 2023 - in Howtos - 10 min guide

Creating a Linux Mint 21 bootable USB flash drive is useful for a variety of purposes, including installing or trying out Linux Mint on a new computer or repairing a malfunctioning installation.

Continue reading

March 07, 2023 - in Howtos - 20 min guide

Upgrading to a new version. Recovery from software corruption. Factory reset. Configuration compatibility. License activation. There are a variety of reasons why it is sometimes necessary to (re)install an IOS on a Cisco 2960 switch.

Continue reading

February 2, 2023 - in Howtos - 12 min guide

A Windows 11 bootable USB flash drive is a removable storage device that has been configured to contain all the necessary files and software to launch a Windows 11 installation or repair process.

Continue reading

September 26, 2022 - in Howtos - 7 min guide

XMind is a mind mapping and brainstorming software. At the time of writing, the current downloadable version is XMind 2022 (12.0.2 evaluation version). If you happen to have some old .xmind files lying around...

Continue reading

"},{"location":"bike%20routes/","title":"Bike routes landing page.","text":""},{"location":"bike%20routes/gent/","title":"Bike routes around Gent.","text":""},{"location":"bike%20routes/gent/#20km","title":"20km","text":"Route1Route2

Explain step.

Explain step.

"},{"location":"bike%20routes/gent/#30km","title":"30km","text":"30km

Explain step.

"},{"location":"bike%20routes/gent/#60km","title":">=60km","text":"65km

Explain step.

"},{"location":"blogs/","title":"Blogs landing page","text":""},{"location":"blogs/2024/no-matching-cypher-found/","title":"No matching cypher found","text":""},{"location":"blogs/2024/no-matching-cypher-found/#setup","title":"Setup","text":"S1R1
Switch>enable \nSwitch#clock set 11:59:00 Jul 02 2024\nSwitch#conf terminal \nSwitch(config)#hostname S1\nS1(config)#int vlan1\nS1(config-if)#ip add 192.168.10.3 255.255.255.0\nS1(config-if)#no shut\nS1(config-if)#end\nS1#\n
Router>enable\nRouter#clock set 11:59:00 Jul 02 2024\nRouter#conf t\nRouter(config)#enable secret admin\nRouter(config)#hostname R1\nR1(config)#ip domain-name opensysadmins.lab\nR1(config)#crypto key generate rsa modulus 2048\nR1(config)#username admin secret admin\nR1(config)#line vty 0 15\nR1(config-line)#transport input ssh\nR1(config-line)#login local\nR1(config-line)#exit\n\nR1(config)#int g0/1\nR1(config-if)#ip add 192.168.10.254 255.255.255.0\nR1(config-if)#no shut\nR1(config-if)#end\nR1#\n
"},{"location":"blogs/2024/no-matching-cypher-found/#problem","title":"Problem","text":"

Connecting from a Cisco 2960 switch to a Cisco 1941 router using SSH gives a \"no matching cypher found\" error. (Nevermind the date/time settings on switch and router, they are a bit off as I set them manually).

S1R1
S1#ssh -l admin 192.168.10.254\n[Connection to 192.168.10.254 aborted: error status 0]\nS1#\nJul  9 10:50:01.914: %SSH-3-NO_MATCH: No matching cipher found: client aes128-cbc,3des-cbc,aes192-cbc,aes256-cbc server aes128-ctr,aes1r\nS1#\n
R1#\nJul  9 10:49:58.823: %SSH-3-NO_MATCH: No matching cipher found: client aes128-cbc,3des-cbc,aes192-cbc,aes256-cbc server aes128-ctr,aes1r\nR1#\n
"},{"location":"blogs/2024/no-matching-cypher-found/#cipher-list-on-the-switch","title":"Cipher list on the switch.","text":"

First things first. What does a cipher list like aes256-cbc mean on a Cisco 2960 switch?

It refers to the encryption method used for secure communication, for example, with SSH (Secure Shell) or for securing data transfer.

  • AES: Advanced Encryption Standard, a highly secure and widely used encryption standard.
  • 256: The key size in bits. In this case, it is a 256-bit key, which provides a very high level of security.
  • CBC: Cipher Block Chaining, a mode of AES that provides additional security by making each data block dependent on the previous block.

When you run ssh -c ? the system displays a list of all supported encryption algorithms for the SSH client that can be used when establishing an SSH connection to another device. When you run show ip ssh, it shows the default configured and supported encryption algorithms for the SSH server service, should the client be running one. This indicates which algorithms will be used by default when an SSH connection is established to the switch. In this case, the switch is not running an SSH server.

S1 as clientS1 as server
S1#ssh -c ?\n  3des        triple des\nSSHv2 only cipher list:\n  aes128-cbc  AES 128 bits\n  aes192-cbc  AES 192 bits\n  aes256-cbc  AES 256 bits\n\nS1#\n
S1#show ip ssh\nSSH Disabled - version 1.99\n...\nS1#\n
"},{"location":"blogs/2024/no-matching-cypher-found/#cipher-list-on-the-router","title":"Cipher list on the router.","text":"

On a Cisco 1941 router, e.g. aes256-ctr refers to a different mode of the AES encryption standard, where:

  • AES: Advanced Encryption Standard.
  • 256: The key size in bits, again 256 bits.
  • CTR: Counter mode, a mode of AES where a counter is used to make each data block independent of the other blocks.

In CTR (Counter) mode, a counter value is combined with an initial value and then encrypted. The resulting output is then combined with the plaintext block to form the encrypted text block. This mode makes each block encryption independent, which has advantages such as the ability to encrypt and decrypt blocks in parallel, improving speed.

R1 as clientR1 as server
R1#ssh -c ?\n  3des        triple des\nSSHv2 only cipher list:\n  aes128-cbc  AES 128 bits\n  aes128-ctr  AES-CTR 128 bits\n  aes192-cbc  AES 192 bits\n  aes192-ctr  AES-CTR 192 bits\n  aes256-cbc  AES 256 bits\n  aes256-ctr  AES-CTR 256 bits\n\nR1#    \n
R1#show ip ssh \nSSH Enabled - version 1.99\nAuthentication methods:publickey,keyboard-interactive,password\nAuthentication Publickey Algorithms:x509v3-ssh-rsa,ssh-rsa\nHostkey Algorithms:x509v3-ssh-rsa,ssh-rsa\nEncryption Algorithms:aes128-ctr,aes192-ctr,aes256-ctr\nMAC Algorithms:hmac-sha2-256,hmac-sha2-512,hmac-sha1,hmac-sha1-96\nKEX Algorithms:diffie-hellman-group-exchange-sha1,diffie-hellman-group14-sha1\n...\n
"},{"location":"blogs/2024/no-matching-cypher-found/#different-cypher-lists","title":"Different cypher lists.","text":"

Why is e.g. aes256-ctr not available on a Cisco 2960 switch?

  • Hardware and software support: Not all devices support all encryption modes. The absence of aes256-ctr on the Cisco 2960 switch may be due to hardware or software limitations of the switch. Cisco 2960 switches are primarily designed as access switches and may not have the same extensive cryptographic capabilities as a router like the Cisco 1941.
  • Different use cases: Switches and routers often have different use cases. Routers, such as the Cisco 1941, are more often used for WAN connections and VPN tunnels, where strong and flexible encryption is necessary. Therefore, they may support a broader range of encryption algorithms and modes. Switches, on the other hand, are usually used within LANs and may not need the same level of encryption support.
  • Configuration and licenses: The available cipher suites on a switch or router may also depend on the configuration, the IOS version, or specific licenses installed on the device.

It is important to consult the documentation of specific Cisco devices and IOS versions to know which encryption methods and modes are supported.

"},{"location":"blogs/2024/no-matching-cypher-found/#solution","title":"Solution","text":"

You can customize the list of supported and used encryption algorithms for the SSH server through Cisco IOS configuration. This can be done by adjusting the SSH server configuration to add or remove specific ciphers. This example would limit the show ip ssh output to only the specifically configured algorithms:

R1S1
R1#conf t\nR1(config)#ip ssh server algorithm encryption aes256-cbc\nR1(config)#end\n\nR1#show ip ssh\n...\nEncryption Algorithms:aes256-cbc\nMAC Algorithms:hmac-sha2-256,hmac-sha2-512,hmac-sha1,hmac-sha1-96\nKEX Algorithms:diffie-hellman-group-exchange-sha1,diffie-hellman-group14-sha1\n...\nR1#\n
S1#ssh -l admin 192.168.10.254\nPassword:         <--- enter \"admin\"\n\nR1>enable\nPassword:         <--- enter \"admin\"\nR1#\n
"},{"location":"blogs/2024/no-matching-key-exchange-method-found/","title":"No matching key exchange method found","text":""},{"location":"blogs/2024/no-matching-key-exchange-method-found/#setup","title":"Setup","text":"S1R1
Switch>enable \nSwitch#clock set 11:59:00 Jul 02 2024\nSwitch#conf terminal \nSwitch(config)#hostname S1\nS1(config)#int vlan1\nS1(config-if)#ip add 192.168.10.3 255.255.255.0\nS1(config-if)#no shut\nS1(config-if)#end\nS1#\n
Router>enable\nRouter#clock set 11:59:00 Jul 02 2024\nRouter#conf t\nRouter(config)#enable secret admin\nRouter(config)#hostname R1\nR1(config)#ip domain-name opensysadmins.lab\nR1(config)#crypto key generate rsa modulus 2048\nR1(config)#username admin secret admin\nR1(config)#line vty 0 15\nR1(config-line)#transport input ssh\nR1(config-line)#login local\nR1(config-line)#exit\n\nR1(config)#int g0/1\nR1(config-if)#ip add 192.168.10.254 255.255.255.0\nR1(config-if)#no shut\nR1(config-if)#end\nR1#\n
"},{"location":"blogs/2024/no-matching-key-exchange-method-found/#problem","title":"Problem","text":"

Connecting from a Linux Mint 21 LAB-PC to a Cisco 1941 router using SSH gives a \"no matching key exchange method found\" error. Notice that the router gives a \"No matching cipher found\" error, which is different than the error on the LAB-PC! (Nevermind the date/time settings on switch and router, they are a bit off as I set them manually)

LAB-PCR1
guru@lab:~$ ssh -l admin 192.168.10.254\nUnable to negotiate with 192.168.10.254 port 22: no matching key exchange method found. Their offer: diffie-hellman-group-exchange-sha1,\ndiffie-hellman-group14-sha1\nguru@lab:~$ \n
R1#\nJul  9 11:25:38.179: %SSH-3-NO_MATCH: No matching cipher found: client aes128-ctr,aes192-ctr,aes256-ctr,aes128-cbc,3des-cbc server aes25\n6-cbc\nR1#\n
"},{"location":"blogs/2024/no-matching-key-exchange-method-found/#cipher-list","title":"Cipher list.","text":"

Via this post, we already know how to fix that cipher error on the \"server side\". Here, we will use a cipher on the Linux client that the server (R1) understands. Now we are left with \"no matching key exchange method found\" error on both sides.

LAB-PCR1
# By default, the SSH client speaks these Ciphers\nguru@lab:~$ grep \"Cipher\" /etc/ssh/ssh_config\n    Ciphers aes128-ctr,aes192-ctr,aes256-ctr,aes128-cbc,3des-cbc\n\n# Make the SSH client speak a cipher that the router understands\nguru@lab:~$ ssh -c aes256-cbc -l admin 192.168.10.254\nUnable to negotiate with 192.168.10.254 port 22: no matching key exchange method found. Their offer: diffie-hellman-group-exchange-sha1,\ndiffie-hellman-group14-sha1\nguru@lab:~$ \nS1#\n
R1#\nJul  9 12:43:57.403: %SSH-3-NO_MATCH: No matching kex algorithm found: client curve25519-sha256,curve25519-sha256@libssh.org,ecdh-sha2-n\nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,sntrup761x25519-sha512@openssh.com,diffie-hellman-group-exchange-sha256,diffie-hellman-gro\nup16-sha512,diffie-hellman-group18-sha512,diffie-hellman-group14-sha256,ext-info-c,kex-strict-c-v00@openssh.com server diffie-hellman-gr\noup-exchange-sha1,diffie-hellman-group14-sha1\nR1#\n
"},{"location":"blogs/2024/no-matching-key-exchange-method-found/#key-exchange","title":"Key exchange","text":"

There is a discrepancy between the key exchange algorithms shown in the output of ssh -Q kex and those observed during the actual SSH negotiation with ssh -vvv. The algorithms listed in ssh -Q kex include all supported algorithms, but some may be deprecated or considered less secure. During actual connections, OpenSSH may prioritize more secure algorithms.

LAB-PCR1
# Do a verbose connection to see which key exchange algorithms are tried\nguru@lab:~$ ssh -vvv -c aes256-cbc -l admin 192.168.10.254\n...\n...\ndebug2: KEX algorithms: curve25519-sha256,curve25519-sha256@libssh.org,ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,sntrup76\n1x25519-sha512@openssh.com,diffie-hellman-group-exchange-sha256,diffie-hellman-group16-sha512,diffie-hellman-group18-sha512,diffie-hellm\nan-group14-sha256,ext-info-c,kex-strict-c-v00@openssh.com\n...\n\n# List the supported key exchange algorithms on the SSH client\nguru@lab:~$ ssh -Q kex\ndiffie-hellman-group1-sha1 NOT TRIED\ndiffie-hellman-group14-sha1 NOT TRIED\ndiffie-hellman-group14-sha256 <--- TRIED\ndiffie-hellman-group16-sha512 <--- TRIED\ndiffie-hellman-group18-sha512 <--- TRIED\ndiffie-hellman-group-exchange-sha1 NOT TRIED\ndiffie-hellman-group-exchange-sha256 <--- TRIED\necdh-sha2-nistp256 <--- TRIED\necdh-sha2-nistp384 <--- TRIED\necdh-sha2-nistp521 <--- TRIED\ncurve25519-sha256 <--- TRIED\ncurve25519-sha256@libssh.org <--- TRIED\nsntrup76 <--- TRIED\n1x25519-sha512@openssh.com <--- TRIED\nguru@lab:~$\n
R1#show ip ssh \nSSH Enabled - version 1.99\nAuthentication methods:publickey,keyboard-interactive,password\nAuthentication Publickey Algorithms:x509v3-ssh-rsa,ssh-rsa\nHostkey Algorithms:x509v3-ssh-rsa,ssh-rsa\nEncryption Algorithms:aes128-ctr,aes192-ctr,aes256-ctr\nMAC Algorithms:hmac-sha2-256,hmac-sha2-512,hmac-sha1,hmac-sha1-96\nKEX Algorithms:diffie-hellman-group-exchange-sha1,diffie-hellman-group14-sha1\n...\n
"},{"location":"blogs/2024/no-matching-key-exchange-method-found/#solution-and-new-problem","title":"Solution and new problem","text":"

The Linux client (LAB-PC) has to use a key exchange algorithm that the server (R1) supports; either diffie-hellman-group-exchange-sha1 or diffie-hellman-group14-sha1 in this case. Let's use the first one. Now we get the error \"no matching host key type found\".

LAB-PCR1
guru@lab:~$ ssh -c aes256-cbc -oKexAlgorithms=+diffie-hellman-group-exchange-sha1 -l admin 192.168.10.254\nUnable to negotiate with 192.168.10.254 port 22: no matching host key type found. Their offer: ssh-rsa\nguru@lab:~$\n
R1# Jul  9 13:17:59.767: %SSH-3-NO_MATCH: No matching hostkey algorithm found: client ssh-ed25519-cert-v01@openssh.com,ecdsa-sha2-nistp256-c\nert-v01@openssh.com,ecdsa-sha2-nistp384-cert-v01@openssh.com,ecdsa-sha2-nistp521-cert-v01@openssh.com,sk-ssh-ed25519-cert-v01@openssh.co\nm,sk-ecdsa-sha2-nistp256-cert-v01@openssh.com,rsa-sha2-512-cert-v01@openssh.com,rsa-sha2-256-cert-v01@openssh.com,ssh-ed25519,ecdsa-sha2\n-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,sk-ssh-ed25519@openssh.com,sk-ecdsa-sha2-nistp256@openssh.com,rsa-sha2-512,rsa-sha2-25\n6 server ssh-rsa\nR1#\n
"},{"location":"blogs/2024/no-matching-key-exchange-method-found/#host-key-type","title":"Host key type","text":"

There is a discrepancy between the host key types shown in the output of ssh -Q key and those observed during the actual SSH negotiation with ssh -vvv. The algorithms listed in ssh -Q key include all supported key types, but during actual connections, OpenSSH may prioritize more secure key types.

LAB-PCR1
# Do a verbose connection to see which host key types are tried\nguru@lab:~$ ssh -vvv -c aes256-cbc -oKexAlgorithms=+diffie-hellman-group-exchange-sha1 -l admin 192.168.10.254\n...\n...\ndebug2: host key algorithms: ssh-ed25519-cert-v01@openssh.com,ecdsa-sha2-nistp256-cert-v01@openssh.com,ecdsa-sha2-nistp384-cert-v01@open\nssh.com,ecdsa-sha2-nistp521-cert-v01@openssh.com,sk-ssh-ed25519-cert-v01@openssh.com,sk-ecdsa-sha2-nistp256-cert-v01@openssh.com,rsa-sha\n2-512-cert-v01@openssh.com,rsa-sha2-256-cert-v01@openssh.com,ssh-ed25519,ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,sk-\nssh-ed25519@openssh.com,sk-ecdsa-sha2-nistp256@openssh.com,rsa-sha2-512,rsa-sha2-256\n...\n\n# List the supported host key types on the SSH client\nguru@lab:~$ ssh -Q key\nssh-ed25519\nssh-ed25519-cert-v01@openssh.com\nsk-ssh-ed25519@openssh.com\nsk-ssh-ed25519-cert-v01@openssh.com\nssh-rsa <--- NOT TRIED\nssh-dss\necdsa-sha2-nistp256\necdsa-sha2-nistp384\necdsa-sha2-nistp521\nsk-ecdsa-sha2-nistp256@openssh.com\nssh-rsa-cert-v01@openssh.com\nssh-dss-cert-v01@openssh.com\necdsa-sha2-nistp256-cert-v01@openssh.com\necdsa-sha2-nistp384-cert-v01@openssh.com\necdsa-sha2-nistp521-cert-v01@openssh.com\nsk-ecdsa-sha2-nistp256-cert-v01@openssh.com\nguru@lab:~$ \n
R1#show ip ssh \nSSH Enabled - version 1.99\nAuthentication methods:publickey,keyboard-interactive,password\nAuthentication Publickey Algorithms:x509v3-ssh-rsa,ssh-rsa\nHostkey Algorithms:x509v3-ssh-rsa,ssh-rsa\nEncryption Algorithms:aes128-ctr,aes192-ctr,aes256-ctr\nMAC Algorithms:hmac-sha2-256,hmac-sha2-512,hmac-sha1,hmac-sha1-96\nKEX Algorithms:diffie-hellman-group-exchange-sha1,diffie-hellman-group14-sha1\n...\n
"},{"location":"blogs/2024/no-matching-key-exchange-method-found/#solution","title":"Solution","text":"

The client (LAB-PC) has to use a host key type that the server (R1) supports; ssh-rsa

LAB-PCR1
guru@lab:~$ ssh -c aes256-cbc -oKexAlgorithms=+diffie-hellman-group-exchange-sha1 -o HostKeyAlgorithms=+ssh-rsa -l admin 192.168.10.254\nThe authenticity of host '192.168.10.254 (192.168.10.254)' can't be established.\nRSA key fingerprint is SHA256:X+55b1YqibQQ6qlzHP/DxeEbUQ7b1J8k9z78syYa3bY.\nThis key is not known by any other names\nAre you sure you want to continue connecting (yes/no/[fingerprint])? yes\nWarning: Permanently added '192.168.10.254' (RSA) to the list of known hosts.\n(admin@192.168.10.254) Password: \n\nR1# \n
R1#show ssh\nConnection Version Mode  Encryption  Hmac          State                Username\n0          2.0     IN   aes256-cbc  hmac-sha2-256 Session started       admin\n0          2.0     OUT  aes256-cbc  hmac-sha2-256 Session started       admin\n\nR1#show users\n    Line       User       Host(s)              Idle       Location\n*  0 con 0                idle                 00:00:00   \n132 vty 0     admin      idle                 00:01:32 192.168.10.2\n\n  Interface    User               Mode         Idle     Peer Address\n\nR1#    \n
"},{"location":"blogs/2024/virtualbox6-guru-meditation/","title":"VirtualBox guru meditation","text":""},{"location":"blogs/2024/virtualbox6-guru-meditation/#problem","title":"Problem","text":"

VirtualBox virtual machines stop working after installing kernel update. Situation:

  • <= 5.15.0-113: ok
  • 5.15.0-116: nok
  • 5.15.0-118: nok
  • (5.15.0-119: fixed but not available yet in the repository)
Step1Step2Step3Step4Step5Step6

You are running Linux Mint 21 kernel 5.15.0-113

You have the most recent VirtualBox 1.6.50 installed from the Linux Mint 21 repository that can run virtual machines.

There is a new kernel 5.15.0-116 available, that you install.

VirtualBox modules get compiled/installed successfully.

Once rebooted with that new 5.15.0-116 kernel, things go wrong when installing/operating VMs.

The log is giving you a \"Guru Meditation\" error.

"},{"location":"blogs/2024/virtualbox6-guru-meditation/#solution1-use-older-working-kernel","title":"Solution1: use older working kernel","text":"

Linux systems frequently receive updates, including new versions of the kernel (the core of the operating system that manages hardware and system resources). However, sometimes a new kernel can introduce compatibility issues with specific hardware or software configurations. By keeping multiple kernels installed, users can easily switch back to an older, stable kernel if the new one causes problems (e.g., hardware drivers not working, system crashes). In Linux Mint 21.3, and most Linux distributions, you can choose different kernels at the GRUB (GRand Unified Bootloader) menu.

On BIOS systems, pressing and holding or sometimes repeatedly tapping the Shift key during boot will bring up the GRUB menu. On UEFI systems, the Esc key is used. If you have a dual-boot setup, GRUB may appear automatically.

An example: you come from kernel 5.15.0-91 -> 5.15.0-113 -> 5.15.0-116 (most recent kernel at the time of writing)

Step1Step2Step3Step4Step5Step6Step7

Do a cold start of Linux Mint 21 and try to get the GRUB menu. Select \"Advanced options...\"

Select the previous working kernel 5.15.0-113.

Once booted into Linux Mint 21 with the old kernel, let's remove the newer kernel. Go to the Mint menu -> Update Manager -> View -> Linux kernels. Select 5.15.0-116 and hit Remove.

Click on Details to see what's happening.

After removing the kernel, it will become available again for installation. Right-click -> Ignore the current update for this package. No newer 5.15 kernel will be installed from now on.

Check the blocked package using Update Manager -> Edit -> Preferences -> Packages.

Reboot Linux Mint 21. It will use the old 5.15.0-113 kernel again. Enjoy working VMs.

"},{"location":"blogs/2024/virtualbox6-guru-meditation/#solution2-install-virtualbox-7020","title":"Solution2: install VirtualBox 7.0.20","text":""},{"location":"blogs/2024/virtualbox6-guru-meditation/#check-the-installed-packages-of-virtualbox-6150","title":"Check the installed packages of VirtualBox 6.1.50","text":"guru@lab:~$_output
dpkg -l | grep -i virtualbox\n
guru@lab:~$ dpkg -l | grep -i virtualbox\nii  virtualbox                                 6.1.50-dfsg-1~ubuntu1.22.04.1       amd64        x86 virtualization solution - base binaries\nii  virtualbox-dkms                            6.1.50-dfsg-1~ubuntu1.22.04.1       amd64        x86 virtualization solution - kernel module sources for dkms\nii  virtualbox-ext-pack                        6.1.50-1~ubuntu1.22.04.1            all          extra capabilities for VirtualBox, downloader.\nii  virtualbox-guest-additions-iso             6.1.50-1~ubuntu1.22.04.1            all          guest additions iso image for VirtualBox\nii  virtualbox-qt                              6.1.50-dfsg-1~ubuntu1.22.04.1       amd64        x86 virtualization solution - Qt based user interface\nguru@lab:~$ \n
"},{"location":"blogs/2024/virtualbox6-guru-meditation/#remove-those-packages","title":"Remove those packages","text":"guru@lab:~$_output
sudo apt purge virtualbox* -y\n
guru@lab:~$ sudo apt purge virtualbox* -y\nReading package lists... Done\nBuilding dependency tree... Done\nReading state information... Done\nNote, selecting 'virtualbox-ext-pack' for glob 'virtualbox*'\nNote, selecting 'virtualbox' for glob 'virtualbox*'\nNote, selecting 'virtualbox-guest-x11' for glob 'virtualbox*'\nNote, selecting 'virtualbox-ose' for glob 'virtualbox*'\nNote, selecting 'virtualbox-ose-fuse' for glob 'virtualbox*'\nNote, selecting 'virtualbox-guest-additions-iso' for glob 'virtualbox*'\nNote, selecting 'virtualbox-guest-modules' for glob 'virtualbox*'\nNote, selecting 'virtualbox-guest-utils' for glob 'virtualbox*'\nNote, selecting 'virtualbox-guest-utils-hwe' for glob 'virtualbox*'\nNote, selecting 'virtualbox-guest-x11-hwe' for glob 'virtualbox*'\nNote, selecting 'virtualbox-modules' for glob 'virtualbox*'\nNote, selecting 'virtualbox-qt' for glob 'virtualbox*'\nNote, selecting 'virtualbox-2.0' for glob 'virtualbox*'\nNote, selecting 'virtualbox-2.1' for glob 'virtualbox*'\nNote, selecting 'virtualbox-2.2' for glob 'virtualbox*'\nNote, selecting 'virtualbox-3.0' for glob 'virtualbox*'\nNote, selecting 'virtualbox-3.1' for glob 'virtualbox*'\nNote, selecting 'virtualbox-3.2' for glob 'virtualbox*'\nNote, selecting 'virtualbox-4.0' for glob 'virtualbox*'\nNote, selecting 'virtualbox-4.1' for glob 'virtualbox*'\nNote, selecting 'virtualbox-4.2' for glob 'virtualbox*'\nNote, selecting 'virtualbox-4.3' for glob 'virtualbox*'\nNote, selecting 'virtualbox-5.0' for glob 'virtualbox*'\nNote, selecting 'virtualbox-5.1' for glob 'virtualbox*'\nNote, selecting 'virtualbox-5.2' for glob 'virtualbox*'\nNote, selecting 'virtualbox-6.0' for glob 'virtualbox*'\nNote, selecting 'virtualbox-6.1' for glob 'virtualbox*'\nNote, selecting 'virtualbox-source' for glob 'virtualbox*'\nNote, selecting 'virtualbox-dkms' for glob 'virtualbox*'\nPackage 'virtualbox-ose' is not installed, so not removed\nPackage 'virtualbox-ose-fuse' is not installed, so not removed\nPackage 'virtualbox-6.1' is not installed, so not removed\nPackage 'virtualbox-6.0' is not installed, so not removed\nPackage 'virtualbox-5.2' is not installed, so not removed\nPackage 'virtualbox-5.1' is not installed, so not removed\nPackage 'virtualbox-5.0' is not installed, so not removed\nNote, selecting 'virtualbox-dkms' instead of 'virtualbox-modules'\nPackage 'virtualbox-2.0' is not installed, so not removed\nPackage 'virtualbox-2.1' is not installed, so not removed\nPackage 'virtualbox-2.2' is not installed, so not removed\nPackage 'virtualbox-3.0' is not installed, so not removed\nPackage 'virtualbox-3.1' is not installed, so not removed\nPackage 'virtualbox-3.2' is not installed, so not removed\nPackage 'virtualbox-4.0' is not installed, so not removed\nPackage 'virtualbox-4.1' is not installed, so not removed\nPackage 'virtualbox-4.2' is not installed, so not removed\nPackage 'virtualbox-4.3' is not installed, so not removed\nPackage 'virtualbox-guest-utils' is not installed, so not removed\nPackage 'virtualbox-guest-utils-hwe' is not installed, so not removed\nPackage 'virtualbox-guest-x11' is not installed, so not removed\nPackage 'virtualbox-guest-x11-hwe' is not installed, so not removed\nPackage 'virtualbox-source' is not installed, so not removed\nThe following packages were automatically installed and are no longer required:\nlibgsoap-2.8.117 liblzf1 libqt5opengl5 libqt5printsupport5 libqt5x11extras5 libsdl1.2debian libvncserver1\nUse 'sudo apt autoremove' to remove them.\nThe following packages will be REMOVED:\nvirtualbox* virtualbox-dkms* virtualbox-ext-pack* virtualbox-guest-additions-iso* virtualbox-qt*\n0 upgraded, 0 newly installed, 5 to remove and 0 not upgraded.\nAfter this operation, 242 MB disk space will be freed.\n(Reading database ... 565959 files and directories currently installed.)\nRemoving virtualbox-qt (6.1.50-dfsg-1~ubuntu1.22.04.1) ...\nRemoving virtualbox-ext-pack (6.1.50-1~ubuntu1.22.04.1) ...\n0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%\nSuccessfully uninstalled \"Oracle VM VirtualBox Extension Pack\".\nSuccessfully performed extension pack cleanup\nRemoving virtualbox (6.1.50-dfsg-1~ubuntu1.22.04.1) ...\nRemoving virtualbox-dkms (6.1.50-dfsg-1~ubuntu1.22.04.1) ...\nModule virtualbox-6.1.50 for kernel 5.15.0-113-generic (x86_64).\nBefore uninstall, this module version was ACTIVE on this kernel.\n\nvboxdrv.ko:\n- Uninstallation\n- Deleting from: /lib/modules/5.15.0-113-generic/updates/dkms/\n- Original module\n- No original module was found for this module on this kernel.\n- Use the dkms install command to reinstall any previous module version.\n\nvboxnetadp.ko:\n- Uninstallation\n- Deleting from: /lib/modules/5.15.0-113-generic/updates/dkms/\n- Original module\n- No original module was found for this module on this kernel.\n- Use the dkms install command to reinstall any previous module version.\n\nvboxnetflt.ko:\n- Uninstallation\n- Deleting from: /lib/modules/5.15.0-113-generic/updates/dkms/\n- Original module\n- No original module was found for this module on this kernel.\n- Use the dkms install command to reinstall any previous module version.\n\ndepmod....\nDeleting module virtualbox-6.1.50 completely from the DKMS tree.\nRemoving virtualbox-guest-additions-iso (6.1.50-1~ubuntu1.22.04.1) ...\nProcessing triggers for hicolor-icon-theme (0.17-2) ...\nProcessing triggers for gnome-menus (3.36.0-1ubuntu3) ...\nProcessing triggers for man-db (2.10.2-1) ...\nProcessing triggers for shared-mime-info (2.1-2) ...\nProcessing triggers for mailcap (3.70+nmu1ubuntu1) ...\nProcessing triggers for desktop-file-utils (0.26+mint3+victoria) ...\n(Reading database ... 565306 files and directories currently installed.)\nPurging configuration files for virtualbox-ext-pack (6.1.50-1~ubuntu1.22.04.1) ...\nPurging configuration files for virtualbox (6.1.50-dfsg-1~ubuntu1.22.04.1) ...\nguru@lab:~$ \n
"},{"location":"blogs/2024/virtualbox6-guru-meditation/#install-virtualbox-7020","title":"Install VirtualBox 7.0.20","text":"

Use the howto Install VirtualBox 7 on Linux Mint 21

"},{"location":"blogs/2024/virtualbox6-guru-meditation/#solution3-use-kernel-650-44","title":"Solution3: use kernel 6.5.0-44","text":"Step1Step2Step3Step4

Go to the Mint menu -> Update Manager -> View -> Linux kernels. The newest kernel 6.8.0-35 (at the time of writing) does not work for VirtualBox 6.1.50

The latest 6.5 branch, version 6.5.0-44 does work. Let's install it.

No errors here.

Reboot Linux Mint 21. It will use the new 6.5.0-44 kernel by default. Enjoy working VMs.

"},{"location":"explanations/","title":"Explanations landing page","text":""},{"location":"explanations/break-sequence-mechanism/","title":"Break sequence mechanism","text":"

The break sequence is a specific key combination that you send from your terminal emulation program to the router during its boot process. When the break sequence is detected, the router stops the boot process and enters ROMmon mode.

The break sequence varies depending on the terminal emulator you are using. Here are some common break sequences for popular terminal emulators:

  • PuTTY: Ctrl + Break
  • Tera Term: Alt + B
  • HyperTerminal: Ctrl + Break
  • SecureCRT: Ctrl + Break or Ctrl + Shift + 6, then b
  • Minicom (Linux): Ctrl + A, then F

For security reasons, you might want to disable the break sequence. By doing this, you prevent unauthorized users from easily accessing ROMmon mode. However, this also means you won't be able to use the break sequence for password recovery. If you need to re-enable the break sequence, you would remove the no service password-recovery command.

"},{"location":"explanations/cisco-switch-router-boot-sequence/","title":"Cisco switch and router boot sequence","text":""},{"location":"explanations/cisco-switch-router-boot-sequence/#general-overview","title":"General overview","text":""},{"location":"explanations/cisco-switch-router-boot-sequence/#step-by-step-boot-process","title":"Step-by-step boot process","text":""},{"location":"explanations/cisco-switch-router-boot-sequence/#power-on-self-test-post","title":"Power-On Self Test (POST)","text":"
  • When a Cisco router or switch is powered on, it performs a Power-On Self Test (POST) to verify the integrity and functionality of its hardware components, including:

    • CPU
    • memory
    • network interfaces
    • detect new installed components (added memory, ...)
  • A switch, for example, checks its system LEDs during this phase, and the System LED will initially be amber. Because a full operating system has not yet been loaded when the switch performs POST, it needs a way to tell the human user if POST worked well, if it failed partly, or if the switch is totally unusable. To communicate the status, the switch uses the light-emitting diodes (LEDs) on the front panel of the switch. During POST, these LEDs have one set of meanings; during normal operation, the LEDs are used for other purposes.

  • The POST is stored in and run from ROM.

SwitchRouter

POST messages on the console.

POST: CPU MIC register Tests : Begin\nPOST: CPU MIC register Tests : End, Status Passed\n\nPOST: PortASIC Memory Tests : Begin\nPOST: PortASIC Memory Tests : End, Status Passed\n\nPOST: CPU MIC interface Loopback Tests : Begin\nPOST: CPU MIC interface Loopback Tests : End, Status Passed\n\nPOST: PortASIC RingLoopback Tests : Begin\nPOST: PortASIC RingLoopback Tests : End, Status Passed\n\nPOST: PortASIC CAM Subsystem Tests : Begin\nPOST: PortASIC CAM Subsystem Tests : End, Status Passed\n\nPOST: PortASIC Port Loopback Tests : Begin\nPOST: PortASIC Port Loopback Tests : End, Status Passed\n...\n

No such thing visible on a Cisco 1941 router.

...\n...\n
"},{"location":"explanations/cisco-switch-router-boot-sequence/#boot-loader-initialization","title":"Boot loader initialization","text":"
  • The \"boot loader\", also called \"boot loader program\" or \"boot loader image\" or \"system bootstrap\" or \"bootstrap\", is the first program executed after \"POST\". It:

    • initializes the basic hardware components, including the CPU, memory and interfaces
    • provides basic system functions such as access to the file system in \"flash\" memory and network interfaces
    • locates the \"IOS image\" in a certain order, depending on the value of the \"configuration register\".
  • It is a small, specialized piece of software/program (no IOS!) typically stored in and run from \"flash\" memory or a dedicated \"boot ROM\".

SwitchRouter

Boot loader in action.

Boot Sector Filesystem (bs) installed, fsid: 2\nBase ethernet MAC Address: b0:c5:3c:26:a0:80\nXmodem file system is available.\nThe password-recovery mechanism is enabled.\n...\n...\nSwitch#show version\n...\nROM: Bootstrap program is C2960 boot loader\nBOOTLDR: C2960 Boot Loader (C2960-HBOOT-M) Version 15.0(2r)EZ1, RELEASE SOFTWARE (fc1)\n...\n\n...\n

Boot loader in action.

System Bootstrap, Version 15.0(1r)M16, RELEASE SOFTWARE (fc1)\nTechnical Support: http://www.cisco.com/techsupport\nCopyright (c) 2012 by cisco Systems, Inc.\n\nTotal memory size = 512 MB - On-board = 512 MB, DIMM0 = 0 MB\nCISCO1941/K9 platform with 524288 Kbytes of main memory\nMain memory is configured to 64/-1(On-board/DIMM0) bit mode with ECC disabled\n\nReadonly ROMMON initialized\nprogram load complete, entry point: 0x80803000, size: 0x1b340\nprogram load complete, entry point: 0x80803000, size: 0x1b340\n...\n...\nRouter#show version\n...\nROM: System Bootstrap, Version 15.0(1r)M16, RELEASE SOFTWARE (fc1)\n...\n
"},{"location":"explanations/cisco-switch-router-boot-sequence/#read-the-configuration-register","title":"Read the configuration register","text":"

The \"configuration register\" is a special 16-bit value used to control various aspects of the device's behavior during the boot process. The purpose and functionality of the configuration register differ slightly between Cisco switches like the Catalyst 2960 and routers like the Cisco 1941. It is stored in NVRAM.

SwitchRouter

Configuration register of a switch.

Switch#show version | incl Configuration\nConfiguration register is 0xF\nSwitch#\n

Configuration register of a router.

Router#show version | incl Configuration\nConfiguration register is 0x2102\nRouter#\n
"},{"location":"explanations/cisco-switch-router-boot-sequence/#router","title":"Router","text":"

For Cisco routers, including the Cisco 1941, the configuration register plays a crucial role in various aspects of the device\u2019s operation, including:

  • Determining How the Router Boots
    • Booting into ROMMON Mode: setting the configuration register to a value such as 0x???? tells the router to boot into ROMMON mode, which is useful for recovery operations.
    • Booting from a Specific Image: Different values can instruct the router to boot from different IOS images or locations, such as from flash memory or a TFTP server.
  • Specifying Baud Rate: certain configuration register settings can change the console port baud rate for communication.
  • Controlling Boot Options
    • Controlling Boot Options
      • ignore NVRAM Contents: setting the configuration register to 0x2142 tells the router to ignore the saved configuration in NVRAM. This is commonly used for password recovery as it allows the router to boot with a default configuration without overwriting the existing saved configuration.
  • Configuring Break Sequence Behavior: the configuration register can enable or disable the break sequence, allowing access to ROMMON mode during boot.
"},{"location":"explanations/cisco-switch-router-boot-sequence/#switch","title":"Switch","text":"

For Cisco Catalyst 2960 switches, the concept of a configuration register as seen in routers does not apply. Instead, similar functionalities are handled through different commands and settings.

  • Boot Parameters and Environment Variables: Cisco 2960 switches use environment variables and specific boot commands to control boot behavior. Commands like boot enable-break or setting the ... variable from ROMMON are used to control boot parameters and recovery options.
  • Password Recovery Mechanism: the command service password-recovery within IOS is used to enable or disable the password recovery mechanism.
"},{"location":"explanations/cisco-switch-router-boot-sequence/#executing-ios","title":"Executing IOS","text":""},{"location":"explanations/cisco-switch-router-boot-sequence/#system-initialization","title":"System Initialization","text":""},{"location":"explanations/cisco-switch-router-boot-sequence/#recovery-and-troubleshooting","title":"Recovery and troubleshooting","text":"

A Cisco router drops into \"ROMMON-mode\" or \"ROM monitor MODE\" (rommon 1> prompt). A switch \"boot loader mode\" is not the same as a router \"ROMMON-mode\"!

Boot loader modeROMMON-modeRXBOOT

The boot loader provides a command-line interface (CLI) that allows for recovery and diagnostic functions. If the main IOS image cannot be loaded, the \"boot loader mode\" can be used to perform tasks such as loading a new IOS image, recovering passwords, or formatting the flash memory.

...\nswitch:\n...\n

ROMMON-mode is a lower-level diagnostic and recovery environment than the \"boot loader mode\". It provides a more comprehensive set of commands for troubleshooting, hardware diagnostics, and recovery operations. It is used when the device fails to load the \"boot loader\" or \"IOS\", or when manually invoked for recovery purposes using \"break\" or via the \"configuration register\". \"Break\" (system interrupt) is always enabled for 60 seconds after the router reboots, regardless of whether it is configured on or off in the \"configuration register\". During this 60-second window, you can break to the ROM monitor prompt by pressing the \"Break key\".

...\nrommon 1>\n...\n

Older routers (e.g. Cisco AS2511 or Cisco 1600) would actually run IOS straight from FLASH, so you could not overwrite it whilst running, they did not have the ability to load an IOS image via the network either, so you needed to use RXBOOT, a reduced command set image. It contains only IP-code (but no routing capabilities!) just to able to boot from tFTP and mainly used to download \"system images\" to a router. You can see it as an intermediate step between the ROMMON mode and the IOS mode. RXBOOT is also called:

  • a \"mini operating system\" (0x2101)
  • a \"MINI-IOS\"
  • a \"limited functions IOS\"
  • a \"limited feature IOS\"
  • a \"partial IOS\"
  • a \"cut-down version of IOS\"
  • a \"stripped down version of IOS\"
  • a \"helper image\"
  • a \"subset of IOS image\"

Modern day routers don\u2019t have that (0x2102). RXBOOT is stored in ROM (low-end routers) or bootflash (high-end routers).

...\nX\n...\n
"},{"location":"explanations/cisco-switch-router-components/","title":"Cisco switch and router components","text":"

The hardware components of a Cisco switch and router include the following:

"},{"location":"explanations/cisco-switch-router-components/#chassis","title":"Chassis","text":"

The physical casing that houses all internal components of the switch. It includes mounting options for rack or wall installation.

"},{"location":"explanations/cisco-switch-router-components/#power-supply-unit-psu","title":"Power Supply Unit (PSU)","text":"

Provides the necessary power to the switch. Some models come with internal power supplies, while others support external power supplies. Additionally, some models offer Power over Ethernet (PoE) or PoE+ capabilities.

"},{"location":"explanations/cisco-switch-router-components/#central-processing-unit-cpu","title":"Central Processing Unit (CPU)","text":"

Manages the switch's operations, processing control plane activities, and executing the switch's operating system (IOS).

"},{"location":"explanations/cisco-switch-router-components/#memory","title":"Memory","text":"

Cisco devices have many different locations where they can store images, configuration files, and microcode.

"},{"location":"explanations/cisco-switch-router-components/#flash","title":"FLASH","text":"
  • non-volatile (permanent) after reboot
  • a kind of EEPROM designed for high speed and high density
  • different types, depending on the hardware (EPROM, SIMM, DIMM, Flash memory card)
  • stores the Cisco \"IOS image\" and VLAN database file \"vlan.dat\"
  • different forms, depending on the hardware

    • internal (onboard)

      • flash:
        • the main \u201cFlash memory storage area\u201d on all platforms
        • alias slot0: for platforms without a device named flash:
        • can store as many \"IOS images\" as there is space to hold
      • bootflash:
        • depending on model/essentially the difference is just naming convention between \u201dflash:\u201d and \u201cbootflash:\u201d
        • can store \"images\", \"configuration files\", crashinfo, \u2026 but generally hosts a (small basic) \"bootloader program\u201d on high-end systems
    • external (removable)

      • a Flash memory card that is inserted in to a Personal Computer Memory Card International Association (PCMCIA) slot
      • additional flash memory
      • slot0: PCMCIA flash card in slot0, slot1: PCMCIA flash card in slot1
    • some routers, including the Cisco 2500 series routers, do not have sufficient RAM to hold the Cisco \"IOS image\" and, therefore, run the Cisco \"IOS image\" directly from flash memory (Cisco IOS images that are run from flash memory are not compressed)
    • has a directory structure and typical flash commands (dir, format, copy, del)
"},{"location":"explanations/cisco-switch-router-components/#sdram","title":"(SD)RAM","text":"
  • (Synchronous Dynamic) Random Access Memory
  • volatile (temporary memory)
  • 2 types:
    • primary, main, or processor memory, which is reserved for the CPU to execute Cisco IOS software and to hold the running configuration and routing tables
    • shared, packet, or I/O memory, which buffers data transmitted or received by the router\u2019s network interfaces
  • provides temporary storage for the operating system during runtime and for data structures used by the CPU
  • fastest amongst all memories
  • often comes on dual in-line memory modules (DIMMs)
  • runs the \"IOS image\"
"},{"location":"explanations/cisco-switch-router-components/#nvram","title":"NVRAM","text":"
  • Non Volatile Random Access Memory
  • small chunk of RAM between 32 K and 128 K in size
  • kept alive by a battery in the system board so the contents are not lost
  • stores the \"startup-configuration\" and the software \"configuration register\"
"},{"location":"explanations/cisco-switch-router-components/#eprom","title":"(EP)ROM","text":"
  • (Electrically Erasable) Read Only Memory
  • non-volatile (permanent): code defined in silicon, cannot accidentally be erased by users
  • often referred to simply as \"ROM\"
  • stores hardcoded micro-code: POST, bootstrap, ROMMON, RXBoot (mini-IOS), ...
"},{"location":"explanations/cisco-switch-router-components/#switching-fabric","title":"Switching Fabric","text":"

The internal architecture that handles data packet processing and switching within the switch.

"},{"location":"explanations/cisco-switch-router-components/#network-ports","title":"Network Ports","text":"
  • Ethernet Ports: The primary interfaces for connecting devices, available in various speeds (Fast Ethernet, Gigabit Ethernet).
  • Uplink Ports: Often support higher speeds (Gigabit or 10 Gigabit Ethernet) and are used to connect to other switches or routers in the network.
"},{"location":"explanations/cisco-switch-router-components/#poe-controllers","title":"PoE Controllers","text":"

In PoE models, these controllers manage the power distribution to connected devices (such as IP phones or wireless access points) over Ethernet cables.

"},{"location":"explanations/cisco-switch-router-components/#led-indicators","title":"LED Indicators","text":"

Provide status information for power, network activity, and port status, helping with troubleshooting and monitoring.

"},{"location":"explanations/cisco-switch-router-components/#cooling-system","title":"Cooling System","text":"

Includes fans and heat sinks to manage the thermal output and maintain optimal operating temperatures for the switch components.

"},{"location":"explanations/cisco-switch-router-components/#console-and-management-ports","title":"Console and Management Ports","text":"
  • Console Port: Used for initial setup and configuration via a direct serial connection.
  • Management Ethernet Port: Provides out-of-band management access to the switch.
"},{"location":"explanations/cisco-switch-router-components/#asics","title":"ASICs","text":"

Application-Specific Integrated Circuits: custom chips designed to handle specific tasks such as packet forwarding, QoS (Quality of Service), and security features, offloading these tasks from the CPU.

"},{"location":"explanations/cisco-switch-router-components/#backplane","title":"Backplane","text":"

The internal data pathway that interconnects the various components, allowing data to move efficiently within the switch.

These components work together to provide the functionality required for network connectivity, management, and performance in an enterprise environment.

"},{"location":"explanations/password-recovery-mechanism/","title":"Password recovery mechanism","text":"

The password recovery mechanism on a Cisco 2960 Catalyst switch can be enabled or disabled to balance security needs and administrative accessibility. Here\u2019s why an organization might choose to enable or disable this feature.

"},{"location":"explanations/password-recovery-mechanism/#enable","title":"Enable","text":"
  • Accidental Lockout Recovery: Administrators may forget passwords or lose access credentials. Enabling password recovery ensures they can regain access without drastic measures like a full device reset, which could result in configuration loss.

  • Quick Access Restoration: In critical environments where uptime and quick recovery are essential, being able to quickly recover passwords helps minimize downtime and maintain network operations smoothly.

  • Administrative Ease: Simplifies management for environments where many devices are maintained by different administrators who might occasionally need to recover access.

"},{"location":"explanations/password-recovery-mechanism/#disable","title":"Disable","text":"
  • Enhanced Security: Disabling password recovery prevents unauthorized physical access from leading to device compromise. If someone gains physical access to the switch, they cannot simply use the password recovery procedure to break into the system.

  • Compliance Requirements: Some industries and regulatory environments require strict controls on access to network devices. Disabling password recovery can help meet these stringent security policies.

  • Controlled Access: Ensures that only individuals with proper credentials and authorization can make changes to the network configuration, adding an additional layer of security.

"},{"location":"howtos/","title":"Howtos overview","text":""},{"location":"howtos/#what","title":"What?","text":"

How-to guides are directions that take you, the reader, through the steps required to solve a real-world problem. They are goal-oriented.

"},{"location":"howtos/#say-what","title":"Say what?","text":"

You need to be able to accomplish things. Done well, they are the most-read sections of your documentation.

"},{"location":"howtos/#what-they-do","title":"What they do","text":"

They guide. They demonstrate.

"},{"location":"howtos/#answers-the-question","title":"Answers the question","text":"

\"How do I...?\"

"},{"location":"howtos/#oriented-to","title":"Oriented to","text":"

Goals. Tasks. They serve the need of the user @work. They put the skill to work, help the user accomplish a task.

"},{"location":"howtos/#purpose","title":"Purpose","text":"
  • to show how to solve a specific problem/question
  • to help the already-competent user perform a particular task correctly
"},{"location":"howtos/#form","title":"Form","text":"

A series of steps.

"},{"location":"howtos/#analogy","title":"Analogy","text":"

Not teaching someone how to cook, but follow a recipe in a cookery book.

"},{"location":"howtos/#my-responsability","title":"My responsability","text":"

Stick to the practical goal.

"},{"location":"howtos/#approach","title":"Approach","text":"
  • I won\u2019t explain concepts/things, but refer to a reference guide for a full list of options
  • I'll provide a starting-point that you know how to reach; most likely, you will also be in the middle of something
  • the path can\u2019t be managed: it\u2019s the real world!
  • I'll assume familiarity
  • howtos apply to the real world: you will have to deal with what I'll throw at you
  • you must prepare for the unexpected
  • you wil have to rely on implicit knowledge
  • and complete a particular task
  • howtos are reliable, but not the cast-iron repeatability of a tutorial, they cannot promise safety
  • I'll use conditional imperatives
  • and general approaches
  • howtos will typically fork and branch, describing different routes to the same destination
"},{"location":"howtos/access-cisco-device-rommon/","title":"Access a Cisco device in ROMMON-mode","text":""},{"location":"howtos/access-cisco-device-rommon/#prereqs","title":"Prereqs","text":"
  • a PC (BIOS/UEFI) running Linux Mint 21
    • minicom terminal emulation software
  • a console cable
  • a Cisco 2960 24TT-L or 24TC-L Plus switch
  • a Cisco 1941 router
"},{"location":"howtos/access-cisco-device-rommon/#cisco-2960-switch","title":"Cisco 2960 switch","text":""},{"location":"howtos/access-cisco-device-rommon/#setup","title":"Setup","text":""},{"location":"howtos/access-cisco-device-rommon/#from-ios","title":"From IOS","text":"Step1Step2Step3(Step4)

By default, the switch will boot the configured boot image automatically, without waiting for user input.

Switch#show boot\nBOOT path-list      : flash:c2960-lanbasek9-mz.150-2.SE11.bin\nConfig file         : flash:/config.text\nPrivate Config file : flash:/private-config.text\nEnable Break        : yes\nManual Boot         : no\n...\n

Bypass the normal boot process and enter ROMMON mode directly upon the next reboot.

Switch#configure terminal\nEnter configuration commands, one per line.  End with CNTL/Z.\nSwitch(config)#boot manual \nSwitch(config)#end\n\nSwitch#show boot\nBOOT path-list      : flash:c2960-lanbasek9-mz.150-2.SE11.bin\nConfig file         : flash:/config.text\nPrivate Config file : flash:/private-config.text\nEnable Break        : yes\nManual Boot         : yes\n...\n\nSwitch#reload\n\nSystem configuration has been modified. Save? [yes/no]: no      <----- if asked\nProceed with reload? [confirm]                                  <----- press <Enter>\n\n*Mar  1 16:21:22.615: %SYS-5-RELOAD: Reload requested by console. Reload Reason: Reload command.\n...\n

We're in ROMMON-mode.

Boot Sector Filesystem (bs) installed, fsid: 2\nBase ethernet MAC Address: bc:f1:f2:59:06:00\nXmodem file system is available.\nThe password-recovery mechanism is disabled.\nInitializing Flash...\nflashfs[0]: 6 files, 3 directories\nflashfs[0]: 0 orphaned files, 0 orphaned directories\nflashfs[0]: Total bytes: 65544192\nflashfs[0]: Bytes used: 16074240\nflashfs[0]: Bytes available: 49469952\nflashfs[0]: flashfs fsck took 18 seconds.\n...done Initializing Flash.\ndone.\n\nThe system is not configured to boot automatically.  The\nfollowing command will finish loading the operating system\nsoftware:\n\n    boot\n\nswitch: \n

To \"undo\" the manual boot and return to IOS, you have 2 options. Either

  • first unset the variable from within ROMMON and boot into IOS
  • boot into IOS and unset the boot variable from within IOS
# option1\nswitch: set\n!=-\n...\nMANUAL_BOOT=yes\n...\nswitch: unset MANUAL_BOOT\nswitch: boot\nLoading \"flash:c2960-lanbasek9-mz.150-2.SE11.bin\"...@@@@@@@@\n...\nSwitch#\n\n# option2\nswitch: boot\nLoading \"flash:c2960-lanbasek9-mz.150-2.SE11.bin\"...@@@@@@@@\n...\n\nSwitch#configure terminal\nSwitch(config)#no boot manual\nSwitch(config)#end\nSwitch#\n
"},{"location":"howtos/access-cisco-device-rommon/#missing-or-corrupt-ios","title":"Missing or corrupt IOS","text":"Step1Step2(Step3)

Let's simulate a non-working IOS by \"accidently\" erasing the \"flash\" filesystem. Restart the switch afterwards.

Switch#erase flash:\nErasing the flash filesystem will remove all files! Continue? [confirm]\nflashfs[2]: 0 files, 1 directories\nflashfs[2]: 0 orphaned files, 0 orphaned directories\nflashfs[2]: Total bytes: 65544192\nflashfs[2]: Bytes used: 1024\nflashfs[2]: Bytes available: 65543168\nflashfs[2]: flashfs fsck took 25 seconds.\nErase of flash: complete\n\nSwitch#dir flash:\nDirectory of flash:/\n\nNo files in directory\n\n65544192 bytes total (65543168 bytes free)\n\nSwitch#reload\n\nSystem configuration has been modified. Save? [yes/no]: no          <----- if asked\nProceed with reload? [confirm]                                      <----- press <Enter>\n\n*Mar  1 00:28:22.946: %SYS-5-RELOAD: Reload requested by console. Reload Reason: Reload command.\n...\n

The BOOT environment variable is still set to boot c2960-lanbasek9-mz.150-2.SE11.bin but it's not there. The switch will not be able to boot and will enter ROMMON-mode automatically.

Welcome to minicom 2.8\n\nOPTIONS: I18n \nPort /dev/ttyUSB0, 09:36:24\n\nPress CTRL-A Z for help on special keys\n\nBoot Sector Filesystem (bs) installed, fsid: 2\nBase ethernet MAC Address: bc:f1:f2:59:06:00\nXmodem file system is available.\nThe password-recovery mechanism is enabled.                     ---> or \"disabled\"\nInitializing Flash...\nflashfs[0]: 3 files, 1 directories\nflashfs[0]: 0 orphaned files, 0 orphaned directories\nflashfs[0]: Total bytes: 65544192\nflashfs[0]: Bytes used: 12800\nflashfs[0]: Bytes available: 65531392\nflashfs[0]: flashfs fsck took 18 seconds.\n...done Initializing Flash.\ndone.\nLoading \"flash:c2960-lanbasek9-mz.150-2.SE11.bin\"...flash:c2960-lanbasek9-mz.150-2.SE11.bin: no such file or directory\n\nError loading \"flash:c2960-lanbasek9-mz.150-2.SE11.bin\"\n\nInterrupt within 5 seconds to abort boot process.\nBoot process failed...\n\nThe system is unable to boot automatically.  The BOOT\nenvironment variable needs to be set to a bootable\nimage.\n\nswitch: \n

To be able to boot again, you have to reinstall IOS.

"},{"location":"howtos/access-cisco-device-rommon/#break-sequence","title":"Break sequence","text":"Step1Step2Step3(Step4)
  • If you have access to a working IOS, verify if the break sequence mechanism is enabled or not. If not, enable it.
  • If you do not have access to a working IOS, you can only \"try\" if the break sequence works. If not, you have to use the \"cold start\" method.
Switch#show boot | include Break\nEnable Break        : no\n\nSwitch#configure terminal \nEnter configuration commands, one per line.  End with CNTL/Z.\nSwitch(config)#boot enable-break \nSwitch(config)#end\n\nSwitch#show boot | include Break\nEnable Break        : yes\n

Power cycle the switch or \"reload\" from within a running IOS. Immediately after the switch starts booting (within the first X seconds), send the break sequence from your terminal emulator. For Minicom, press Ctrl + A then F. The switch should respond by stopping the boot process and entering ROMMON mode, indicated by the switch: prompt.

Switch#reload\nProceed with reload? [confirm]\n\n*Mar  1 00:13:45.539: %SYS-5-RELOAD: Reload requested by console. Reload Reason: Reload command.\nBoot Sector Filesystem (bs) installed, fsid: 2\nBase ethernet MAC Address: b0:c5:3c:26:a0:80\nXmodem file system is available.\n### I sent the break signal about here ###\nThe password-recovery mechanism is enabled.\nInitializing Flash...\nflashfs[0]: filesystem check interrupted!\n...done Initializing Flash.\n\nThe system has been interrupted, or encountered an error\nduring initialization of the flash filesystem.  The following\ncommands will initialize the flash filesystem, and finish\nloading the operating system software:\n\n    flash_init\n    boot\n\nswitch: \n

Flash did not get initialized. You have to do that manually.

switch: flash_init\nInitializing Flash...\nflashfs[0]: 2 files, 1 directories\nflashfs[0]: 0 orphaned files, 0 orphaned directories\nflashfs[0]: Total bytes: 65544192\nflashfs[0]: Bytes used: 11835904\nflashfs[0]: Bytes available: 53708288\nflashfs[0]: flashfs fsck took 19 seconds.\n...done Initializing Flash.\n\nswitch: \n

To return to IOS, just boot the switch.

switch: boot\nLoading \"flash:c2960-lanbasek9-mz.150-2.SE11.bin\"...@@@@@@@\n...\nSwitch#\n
"},{"location":"howtos/access-cisco-device-rommon/#cold-start","title":"Cold start","text":"Step1Step2Step3aStep3b(Step4)

First disconnect the power cable from the switch. Minicom gives no output yet.

Welcome to minicom 2.8\n\nOPTIONS: I18n \nPort /dev/ttyUSB0, 13:50:27\n\nPress CTRL-A Z for help on special keys\n\n<blinking_cursor>\n

Now reconnect the power cable. The switch boots and while doing the POST, the SYST LED blinks green. This takes about X seconds. After POST, the blinking LED changes pattern. Press the Mode button once.

If the password recovery mechanism is enabled, you have to manually initialize flash.

Welcome to minicom 2.8\n\nOPTIONS: I18n \nPort /dev/ttyUSB0, 09:44:08\n\nPress CTRL-A Z for help on special keys\n\nBoot Sector Filesystem (bs) installed, fsid: 2\nBase ethernet MAC Address: bc:f1:f2:59:06:00\nXmodem file system is available.\nThe password-recovery mechanism is enabled.\nInitializing Flash...\nflashfs[0]: filesystem check interrupted!\n...done Initializing Flash.\n\nThe system has been interrupted, or encountered an error\nduring initialization of the flash filesystem.  The following\ncommands will initialize the flash filesystem, and finish\nloading the operating system software:\n\n    flash_init\n    boot\n\nswitch: \n\nswitch: flash_init\nInitializing Flash...\nflashfs[0]: 6 files, 3 directories\nflashfs[0]: 0 orphaned files, 0 orphaned directories\nflashfs[0]: Total bytes: 65544192\nflashfs[0]: Bytes used: 16081408\nflashfs[0]: Bytes available: 49462784\nflashfs[0]: flashfs fsck took 19 seconds.\n...done Initializing Flash.\n\nswitch: \n

If the password recovery mechanism is disabled, you will lose all the configuration. Flash is initialised for you. Choose \"y\" at the prompt.

Welcome to minicom 2.8\n\nOPTIONS: I18n \nPort /dev/ttyUSB0, 09:44:08\n\nPress CTRL-A Z for help on special keys\n\nBoot Sector Filesystem (bs) installed, fsid: 2\nBase ethernet MAC Address: bc:f1:f2:59:06:00\nXmodem file system is available.\nThe password-recovery mechanism is disabled.\nInitializing Flash...\nflashfs[0]: 6 files, 3 directories\nflashfs[0]: 0 orphaned files, 0 orphaned directories\nflashfs[0]: Total bytes: 65544192\nflashfs[0]: Bytes used: 16131584\nflashfs[0]: Bytes available: 49412608\nflashfs[0]: flashfs fsck took 19 seconds.\n...done Initializing Flash.\ndone.\n\nThe password-recovery mechanism has been triggered, but\nis currently disabled.  Access to the boot loader prompt\nthrough the password-recovery mechanism is disallowed at\nthis point.  However, if you agree to let the system be\nreset back to the default system configuration, access\nto the boot loader prompt can still be allowed.\n\nWould you like to reset the system back to the default configuration (y/n)?y            ---> answer \"y\"\n\nThe system has been interrupted, and the config file\nhas been deleted.  The following command will finish\nloading the operating system software:\n\nboot\n\nswitch: \n

To return to IOS, just boot the switch.

switch: boot\nLoading \"flash:c2960-lanbasek9-mz.150-2.SE11.bin\"...@@@@@@@\n...\nSwitch#\n
"},{"location":"howtos/access-cisco-device-rommon/#cisco-1941-router","title":"Cisco 1941 router","text":""},{"location":"howtos/access-cisco-device-rommon/#setup_1","title":"Setup","text":""},{"location":"howtos/access-cisco-device-rommon/#from-ios_1","title":"From IOS","text":"Step1Step2Step3(Step4)

The \"show boot\" command is not available on a Cisco 1941 router, like it is for a Cisco 2960 switch. You can still display the boot system commands in the running configuration, if any.

# if no boot statement is present, an IOS will be searched on flash\nRouter#show running-config | include boot\nboot-start-marker\nboot-end-marker\n\n# if a boot statement is present, that IOS will be booted\nRouter#configure terminal\nEnter configuration commands, one per line.  End with CNTL/Z.\nRouter(config)#boot system flash:c1900-universalk9-mz.SPA.157-3.M8.bin\nRouter(config)#end\n\nRouter#show running-config | include boot\nboot-start-marker\nboot system flash:c1900-universalk9-mz.SPA.157-3.M8.bin\nboot-end-marker\nRouter#\n

There is also no \"boot manual\" command; you have to change the configuration register from within IOS to boot into ROMMON.

Router#show version | include Configuration register\nConfiguration register is 0x2102\n\nRouter#configure terminal \nEnter configuration commands, one per line.  End with CNTL/Z.\nRouter(config)#config-register 0x0\nRouter(config)#end\n\nRouter#show version | include Configuration register\nConfiguration register is 0x2102 (will be 0x0 at next reload)\n\nRouter#reload\n\nSystem configuration has been modified. Save? [yes/no]: no          <--- I won't save the \"boot system\" command for now\nProceed with reload? [confirm]                                      <--- press <Enter>\n

We're in ROMMON-mode.

System Bootstrap, Version 15.0(1r)M16, RELEASE SOFTWARE (fc1)\nTechnical Support: http://www.cisco.com/techsupport\nCopyright (c) 2012 by cisco Systems, Inc.\n\nTotal memory size = 512 MB - On-board = 512 MB, DIMM0 = 0 MB\nCISCO1941/K9 platform with 524288 Kbytes of main memory\nMain memory is configured to 64/-1(On-board/DIMM0) bit mode with ECC disabled\n\nReadonly ROMMON initialized\nrommon 1 > \n

To return to IOS, you have 2 options. Either

  • first set the configuration register back to its initial value from within ROMMON and then boot into IOS (fastest)
  • boot into IOS, set the configuration register back to its initial value from within IOS and reload again (slowest)
# option1\nrommon 1 > confreg 0x2102\n\nYou must reset or power cycle for new config to take effect\n\nrommon 2 > reset\n...\nRouter#\n\n# option2\nrommon 1 > boot\nprogram load complete, entry point: 0x80803000, size: 0x1b340\nprogram load complete, entry point: 0x80803000, size: 0x1b340\n...\n\nRouter#show version | include Configuration register\nConfiguration register is 0x0\n\nRouter#configure terminal\nEnter configuration commands, one per line.  End with CNTL/Z.\nRouter(config)#config-register 0x2102\nRouter(config)#end\n\nRouter#show ver | include Configuration register\nConfiguration register is 0x0 (will be 0x2102 at next reload)\n\nRouter#reload\n...\n
"},{"location":"howtos/access-cisco-device-rommon/#missing-or-corrupt-ios_1","title":"Missing or corrupt IOS","text":"Step1Step2

Let's simulate a non-working IOS by \"accidently\" erasing the \"flash\" filesystem. You cannot use the \"erase (/all) flash:\" command like with a Cisco 2960 switch. You have to \"format\" it. Restart the router afterwards.

Router#format flash:\nFormat operation may take a while. Continue? [confirm]\nFormat operation will destroy all data in \"flash:\".  Continue? [confirm]\nWriting Monlib sectors.....\nMonlib write complete \n\nFormat: All system sectors written. OK...\n\nFormat: Total sectors in formatted partition: 501728\nFormat: Total bytes in formatted partition: 256884736\nFormat: Operation completed successfully.\n\nFormat of flash0: complete\n\nRouter#dir flash:\nDirectory of flash0:/\n\nNo files in directory\n\n256475136 bytes total (256475136 bytes free)\n\nRouter#reload\n...\n

The router will not be able to boot and will enter ROMMON-mode automatically.

System Bootstrap, Version 15.0(1r)M16, RELEASE SOFTWARE (fc1)\nTechnical Support: http://www.cisco.com/techsupport\nCopyright (c) 2012 by cisco Systems, Inc.\n\nTotal memory size = 512 MB - On-board = 512 MB, DIMM0 = 0 MB\nCISCO1941/K9 platform with 524288 Kbytes of main memory\nMain memory is configured to 64/-1(On-board/DIMM0) bit mode with ECC disabled\n\nReadonly ROMMON initialized\nprogram load complete, entry point: 0x80803000, size: 0x1b340\nboot: cannot determine first executable file name ondevice \"flash0:\"\n...\n...\nrommon 1 >\n
"},{"location":"howtos/access-cisco-device-rommon/#break-sequence_1","title":"Break sequence","text":"Step1Step2

To my knowledge, there is no break sequence mechanism on a Cisco 1941 router like there is on a Cisco 2960 switch. There is no such thing as \"boot enable-break\" to en/disable the break sequence behavior. Just poower cycle the router or \"reload\" from within a running IOS.

Router#reload\nProceed with reload? [confirm]\n\n*Mar 16 14:04:39.603: %SYS-5-RELOAD: Reload requested by console. Reload Reason: Reload Command.\n

Immediately after the router starts booting (within the first X seconds), send the break sequence from your terminal emulator. For Minicom, press Ctrl + A then F. The router should respond by stopping the boot process and entering ROMMON mode, indicated by the rommon X> prompt.

System Bootstrap, Version 15.0(1r)M16, RELEASE SOFTWARE (fc1)\nTechnical Support: http://www.cisco.com/techsupport\nCopyright (c) 2012 by cisco Systems, Inc.\n\nTotal memory size = 512 MB - On-board = 512 MB, DIMM0 = 0 MB\n### I sent the break signal about here ###\nCISCO1941/K9 platform with 524288 Kbytes of main memory\nMain memory is configured to 64/-1(On-board/DIMM0) bit mode with ECC disabled\n\nReadonly ROMMON initialized\nrommon 1 > \n
"},{"location":"howtos/access-cisco-device-rommon/#cold-start_1","title":"Cold start","text":"

There is no \"MODE button\" like with a Cisco 2960 switch to interrupt the boot sequence with.

"},{"location":"howtos/acquire-valid-ios-image/","title":"Acquire a valid Cisco IOS image","text":"

todo...

"},{"location":"howtos/clone-windows11-virtualbox/","title":"Clone a Windows 11 virtual machine in VirtualBox 6.1.44","text":""},{"location":"howtos/clone-windows11-virtualbox/#prereqs","title":"Prereqs","text":"
  • an existing Windows 11 virtual machine
"},{"location":"howtos/clone-windows11-virtualbox/#virtualbox","title":"VirtualBox","text":"Step1Step2Step3Step4Step5Step6

In this example, the \"Current state\" equals the \"Clean install\" snapshot (otherwise it would have been \"Current state (Changed)\")

Select \"Machine -> Clone\".

Click on the \"Expert mode\" button to show extra options.

Change the name of the virtual machine. Clone type: full clone. Snapshots: current machine state. Be sure to generate new MAC addresses for all network adapters. Look at the screenshot below.

Click \"Clone\". This won't take too long.

Endresult: a clone of vm6 without snapshot(s).

"},{"location":"howtos/clone-windows11-virtualbox/#ip-address","title":"IP address","text":"Step1Step2Step3Step4Step5

Start the cloned virtual machine \"vm7\" and login. Right-click on the network icon on the bottom-right taskbar -> Network and Internet settings.

Select \u201cEthernet\u201d.

Select \u201cEdit\u201d. Change the IP address.

Click \"Start\" and typ \"cmd\" to open a command prompt: verify the internet connection.

The network icon on the bottom-right taskbar should look like this:

"},{"location":"howtos/clone-windows11-virtualbox/#computername","title":"Computername","text":"Step1Step2

Right-click on \"Start -> System. Change the computer name to \"vm7\". Click \"Next\" and select \"Restart now\".

Login after reboot and shutdown Windows.

"},{"location":"howtos/clone-windows11-virtualbox/#snapshot","title":"Snapshot","text":"Step1Step2Step3Step4

Select \"Machine -> Tools -> Snapshots\".

Select \"Current State\" and click \"Take\". Give a proper name, like \"Clean install\". A good \"Snapshot Description\" can be handy!

If you change \"something\" in this virtual machine, you will get \"Current State (changed)\". Want to revert those changes? Select \"Clean install\" and click \"Restore\". Be sure to remove the checkbox at \"Create a snapshot of the current machine state\" or you'll end up with another snapshot.

You know if the snapshot has been properly restored, if the \"Current State\" equals the \"Clean install\" again.

"},{"location":"howtos/clone-windows2022-virtualbox/","title":"Clone a Windows Server 2022 virtual machine in VirtualBox 6.1.44","text":""},{"location":"howtos/clone-windows2022-virtualbox/#prereqs","title":"Prereqs","text":"
  • an existing Windows Server 2022 virtual machine
"},{"location":"howtos/clone-windows2022-virtualbox/#virtualbox","title":"VirtualBox","text":"Step1Step2Step3Step4Step5Step6

In this example, the \"Current state\" equals the \"Clean install\" snapshot (otherwise it would have been \"Current state (Changed)\")

Select \"Machine -> Clone\".

Click on the \"Expert mode\" button to show extra options.

Change the name of the virtual machine. Clone type: full clone. Snapshots: current machine state. Be sure to generate new MAC addresses for all network adapters. Look at the screenshot below.

Click \"Clone\". This won't take too long.

Endresult: a clone of \"vm16\" without snapshot(s).

"},{"location":"howtos/clone-windows2022-virtualbox/#sysprep","title":"Sysprep","text":"

Sysprep is used to remove system-specific information from a Windows installation, such as the computer name and security identifier (SID). This is necessary, if you want to add a cloned Windows machine to a Windows active directory domain.

Step1Step2Step3Step4Step5Step6

Boot the newly cloned VM and login. Start Explorer and navigate to \"c:\\Windows\\System32\\Sysprep\". Right-click on \"sysprep\" and select \"Run as Administrator\".

Select \"Enter System Out-of-Box Experience (OOBE)\" and put a check next to \"Generalize\". Select \"Reboot\" as shutdown option.

Sysprep is now running and will reboot Windows afterwards.

You are greeted with a welcome screen. Personal preference here.

Accept the license terms.

Configure the password for the built-in administrator account (\"Admin123\" for this lab environment). Windows reboots afterwards.

"},{"location":"howtos/clone-windows2022-virtualbox/#ip-address","title":"IP address","text":"Step1Step2Step3Step4

Login. Right-click on the network icon on the bottom-right taskbar -> Open Network and Internet settings.

Select \"Change adapter options\".

Double-click on \"Ethernet\", select \"Properties\", double-click on \"Internet Protocol Version 4 (TCP/IPv4)\" and configure IP settings.

Close all windows. Click \"Start\" and typ \"cmd\" to open a command prompt: verify the internet connection. The network icon on the bottom-right taskbar will show connectivity.

"},{"location":"howtos/clone-windows2022-virtualbox/#computername","title":"Computername","text":"Step1Step2

Right-click on \"Start -> System\". Change the computer name from \"vm16\" to \"vm17\". Restart now.

Login after reboot and shutdown Windows.

"},{"location":"howtos/clone-windows2022-virtualbox/#snapshot","title":"Snapshot","text":"Step1Step2Step3Step4

Select \"Machine -> Tools -> Snapshots\".

Select \"Current State\" and click \"Take\". Give a proper name, like \"Clean install\". A good \"Snapshot Description\" can be handy!

If you change \"something\" in this virtual machine, you will get \"Current State (changed)\". Want to revert those changes? Select \"Clean install\" and click \"Restore\". Be sure to remove the checkbox at \"Create a snapshot of the current machine state\" or you'll end up with another snapshot.

You know if the snapshot has been properly restored, if the \"Current State\" equals the \"Clean install\" again.

"},{"location":"howtos/clonezilla-bootable-usb-flash-drive/","title":"Create a Clonezilla bootable USB flash drive","text":"

todo...

"},{"location":"howtos/clonezilla-bootable-usb-flash-drive/#download-iso","title":"Download ISO","text":"Step1Step2Step3Step4Step5

Use your favorite search engine to search for \"Clonezilla\" and choose the official website.

Choose the \"Ubuntu-based alternative stable\" version.

Make sure the CPU archictecture is \"amd64\" and the file type is \"iso\". Click \"Download\".

The file will be downloaded to the \"Downloads\" folder.

Create a directory \"ISO\" and move the file into that directory.

"},{"location":"howtos/configure-password-recovery-mechanism/","title":"Configure the password recovery mechanism","text":"

In progress...

"},{"location":"howtos/configure-password-recovery-mechanism/#check","title":"Check","text":"
Switch#show version | incl password-recovery\nThe password-recovery mechanism is disabled.\nSwitch#\n
"},{"location":"howtos/configure-password-recovery-mechanism/#enable","title":"Enable","text":"
Switch#conf terminal\nEnter configuration commands, one per line.  End with CNTL/Z.\nSwitch(config)#service password-recovery \nSwitch(config)#end\nSwitch#\n
"},{"location":"howtos/factory-reset-cisco2960/","title":"Factory reset a Cisco 2960 switch","text":""},{"location":"howtos/factory-reset-cisco2960/#prereqs","title":"Prereqs","text":"
  • a PC (BIOS/UEFI) running Linux Mint 21
  • minicom terminal emulation software
  • a working IOS, so if necessary first (re)install an IOS operating system

Following commands can be executed from within IOS or from within ROMMON-mode.

"},{"location":"howtos/factory-reset-cisco2960/#erase-nvram-contents","title":"Erase nvram contents","text":"Step1Step2Step3

Check the nvram filesystem. If you saved the running configuration to the startup configuration, a configuration file known as startup-config will be present. It is possible that other files are there too. In ROMMON, the file is named config.text. Notice, you cannot access nvram: from ROMMON, but have to use the flash filesystem to get to that file (symbolic link).

--- From IOS ---\n\nSwitch#dir nvram:\nDirectory of nvram:/\n\n    62  -rw-        1296                    <no date>  startup-config\n    63  ----           5                    <no date>  private-config\n    1   ----          35                    <no date>  persistent-data\n    2   -rw-           0                    <no date>  ifIndex-table\n    3   -rw-        1296                    <no date>  test2.txt\n    5   -rw-        1296                    <no date>  test1.txt\n\n65536 bytes total (58039 bytes free)\nSwitch#\n\n--- From ROMMON ---\nswitch: dir flash:\nDirectory of flash:/\n\n    2  -rwx  11832960  <date>               c2960-lanbasek9-mz.150-2.SE11.bin\n    3  -rwx  1296      <date>               config.text\n    5  -rwx  5         <date>               private-config.text\n    6  -rwx  6168      <date>               multiple-fs\n\n53701120 bytes available (11843072 bytes used)\n\nswitch: \n

If you only want to erase all configuration files, use erase startup-config, erase nvram: or write erase from IOS. In ROMMON, use the delete command on the flash filesystem.

--- From IOS ---\nSwitch#erase startup-config \nErasing the nvram filesystem will remove all configuration files! Continue? [confirm]\n[OK]\nErase of nvram: complete\nSwitch#\n\n--- From ROMMON ---\nswitch: delete flash:config.text\nAre you sure you want to delete \"flash:config.text\" (y/n)?y\nFile \"flash:config.text\" deleted\n\nswitch: \n

For a clean setup, it is better to erase everything using erase /all nvram: from IOS. You cannot do that from ROMMON.

--- From IOS ---\nSwitch#erase /all nvram:\nErasing the nvram filesystem will remove all files! Continue? [confirm]\n[OK]\nErase of nvram: complete\n\nSwitch#dir nvram:\nDirectory of nvram:/\n\n62  -rw-           0                    <no date>  startup-config\n63  ----           0                    <no date>  private-config\n1   ----          35                    <no date>  persistent-data\n\n65536 bytes total (64460 bytes free)\nSwitch#\n\n--- From ROMMON ---\nswitch: dir flash:config.text\nunable to stat flash:config.text/: no such file or directory\n\nswitch: \n
"},{"location":"howtos/factory-reset-cisco2960/#erase-vlandat","title":"Erase vlan.dat","text":"Step1Step2Step3

The VLAN database file is saved in flash. Check if the file exists.

--- From IOS ---\nSwitch#dir flash:vlan.dat\nDirectory of flash:/vlan.dat\n\n    7  -rwx         616   Mar 1 1993 00:07:06 +00:00  vlan.dat\n...\n\n --- From ROMMON ---\nswitch: dir flash:\nDirectory of flash:/\n    ...\n    8  -rwx  616       <date>               vlan.dat\n...\n\nswitch:\n

If necessary, delete the VLAN database.

--- From IOS ---\nSwitch#delete vlan.dat\nDelete filename [vlan.dat]? \nDelete flash:/vlan.dat? [confirm]\nSwitch#\n\n--- From ROMMON ---\nswitch: delete flash:vlan.dat\nAre you sure you want to delete \"flash:vlan.dat\" (y/n)?y\nFile \"flash:vlan.dat\" deleted\n\nswitch: \n

Verify.

--- From IOS ---\nSwitch#dir flash:\nDirectory of flash:/\n    ...\n    <no vlan.dat>\n    ...\nSwitch#\n\n--- From ROMMON ---\nswitch: dir flash:\nDirectory of flash:/\n    ...\n    <no vlan.dat>\n    ...\nswitch: \n
"},{"location":"howtos/factory-reset-cisco2960/#enable-password-recovery-mechanism","title":"Enable password recovery mechanism","text":"Step1Step2Step3

Check if the password recovery mechanism is enabled or disabled. In this example, it is disabled.

--- From IOS ---\nSwitch#show ver | incl password-recovery\nThe password-recovery mechanism is disabled.\nSwitch#\n\n--- From ROMMON ---\nswitch: set\n...\nPASSWD_RECOVERY=no\n...\nswitch:\n

If necessary, enable it.

--- From IOS ---\nSwitch#conf t\nEnter configuration commands, one per line.  End with CNTL/Z.\nSwitch(config)#service password-recovery \nSwitch(config)#end\nSwitch#\n\n--- From ROMMON ---\nswitch: unset PASSWD_RECOVERY\n\nswitch: \n

Verify.

--- From IOS ---\nSwitch#show ver | incl password-recovery\nThe password-recovery mechanism is enabled.\nSwitch#\n\n--- From ROMMON ---\nswitch: set\n...\n<no PASSWD_RECOVERY variable present>\n...\n
"},{"location":"howtos/factory-reset-cisco2960/#set-default-sdm-template","title":"Set default SDM template","text":"Step1Step2Step3

Show the current SDM prefer template. For example:

--- From IOS ---\nSwitch#show sdm prefer \nThe current template is \"dual-ipv4-and-ipv6 default\" template.\nThe selected template optimizes the resources in\nthe switch to support this level of features for\n0 routed interfaces and 255 VLANs. \n...\n...\n\n--- From ROMMON ---\nswitch: set\n...\nSDM_TEMPLATE_ID=2\n...\n

If necessary, change it back to the default. We will reload/boot the switch at the end.

--- From IOS ---\nSwitch#conf t\nEnter configuration commands, one per line.  End with CNTL/Z.\nSwitch(config)#sdm prefer ?\ndefault             Default bias\ndual-ipv4-and-ipv6  Support both IPv4 and IPv6\nlanbase-routing     Supports both IPv4 and IPv6 Static Routing\nqos                 QoS bias\nSwitch(config)#sdm prefer default \nChanges to the running SDM preferences have been stored, but cannot take effect \nuntil the next reload.\nUse 'show sdm prefer' to see what SDM preference is currently active.\nSwitch(config)#end\n\n--- From ROMMON ---\nswitch: unset SDM_TEMPLATE_ID\n\nswitch:\n

Verify.

--- From IOS ---\nSwitch#show sdm prefer \n The current template is \"dual-ipv4-and-ipv6 default\" template.\n The selected template optimizes the resources in...\n...\n...\nOn next reload, template will be \"default\" template.\n\n--- From ROMMON ---\nswitch: set\n...\n    <no SDM_TEMPLATE_ID>\n...    \n
"},{"location":"howtos/factory-reset-cisco2960/#set-default-environment-variables","title":"Set default environment variables","text":"Step1Step2Step3Step4

Command show boot should look something like this. Most of these variables can be set from within IOS and/or ROMMON.

Switch#show boot\nBOOT path-list      : flash:/c2960-lanbasek9-mz.150-2.SE11.bin\nConfig file         : flash:/config.text\nPrivate Config file : flash:/private-config.text\nEnable Break        : yes\nManual Boot         : no\nAllow Dev Key         : yes\nHELPER path-list    : \nAuto upgrade        : yes\nAuto upgrade path   : \nNVRAM/Config file\n    buffer size:   65536\nTimeout for Config\n        Download:    0 seconds\nConfig Download \n    via DHCP:       disabled (next boot: disabled)\n

Example1: only if necessary, correct the \"BOOT path-list\" parameter

From IOS:\nSwitch(config)# boot system flash:/c2960-lanbasek9-mz.150-2.SE11.bin\n\nFrom ROMMON:\nswitch: set BOOT flash:/c2960-lanbasek9-mz.150-2.SE11.bin\n

Example2: only if necessary, correct the \"BOOT manual\" parameter.

From IOS:\nSwitch(config)# no boot manual\nSwitch(config)#\n\nFrom ROMMON:\nswitch: unset MANUAL_BOOT\n\nswitch:\n

Example3: only if necessary, correct the \"Enable break\" parameter.

From IOS:\nSwitch(config)# boot enable-break\nSwitch(config)#\n\nFrom ROMMON:\nswitch: unset ...\n\nswitch:\n
"},{"location":"howtos/factory-reset-cisco2960/#reload","title":"Reload","text":"
--- From IOS ---\nSwitch#reload\nSystem configuration has been modified. Save? [yes/no]:     -----> answer \"no\"\nProceed with reload? [confirm]                              -----> press \"Enter\"\n\n--- From ROMMON ---\nswitch:reset\n
"},{"location":"howtos/factory-reset-cisco2960/#clean-switch","title":"Clean switch","text":"

Say hi to the wizard. Answer \"no\" at the prompt. Now just pull the power plug to shutdown the switch, as there is no on/off switch like on e.g. a Cisco 1941 router.

        --- System Configuration Dialog ---\n\nEnable secret warning\n----------------------------------\nIn order to access the device manager, an enable secret is required\nIf you enter the initial configuration dialog, you will be prompted for the enable secret\nIf you choose not to enter the intial configuration dialog, or if you exit setup without setting the enable secret,\nplease set an enable secret using the following CLI in configuration mode-\nenable secret 0 <cleartext password>\n----------------------------------\nWould you like to enter the initial configuration dialog? [yes/no]:     -----> answer \"no\"\nSwitch>enable\nSwitch#\n
"},{"location":"howtos/install-chrome-browser-linux-mint/","title":"Install Google Chrome browser on Linux Mint 21","text":""},{"location":"howtos/install-chrome-browser-linux-mint/#prereqs","title":"Prereqs","text":"
  • a PC (BIOS/UEFI) running Linux Mint 21
"},{"location":"howtos/install-chrome-browser-linux-mint/#download-and-import-googles-signed-key","title":"Download and import Google's signed key","text":"

Signing keys are used to verify the authenticity and integrity of packages from repositories. Download Google's and import at once.

guru@hp:~$_output
curl -sS https://dl.google.com/linux/linux_signing_key.pub | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/google-chrome.gpg &> /dev/null\n
guru@hp:~$ curl -sS https://dl.google.com/linux/linux_signing_key.pub | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/google-chrome.gpg &> /dev/null\n[sudo] password for guru:     \nguru@hp:~$ \n
"},{"location":"howtos/install-chrome-browser-linux-mint/#add-googles-chrome-repository","title":"Add Google's Chrome repository","text":"guru@hp:~$_output
sudo sh -c 'echo \"deb [arch=amd64 signed-by=/etc/apt/trusted.gpg.d/google-chrome.gpg] http://dl.google.com/linux/chrome/deb/ stable main\" > /etc/apt/sources.list.d/google-chrome.list'\n
# No output here\nguru@hp:~$ sudo sh -c 'echo \"deb [arch=amd64 signed-by=/etc/apt/trusted.gpg.d/google-chrome.gpg] http://dl.google.com/linux/chrome/deb/ stable main\" > /etc/apt/sources.list.d/google-chrome.list'\nguru@hp:~$ \n
"},{"location":"howtos/install-chrome-browser-linux-mint/#update-package-list","title":"Update package list","text":"guru@hp:~/Downloads$_output
sudo apt update\n
guru@hp:~/Downloads$ sudo apt update\nIgn:1 https://mintlinux.mirror.wearetriple.com/packages vera InRelease\nHit:2 https://mintlinux.mirror.wearetriple.com/packages vera Release                                        \nGet:3 http://dl.google.com/linux/chrome/deb stable InRelease [1.825 B]                                      \nHit:4 http://archive.ubuntu.com/ubuntu jammy InRelease                                                        \nHit:6 http://archive.ubuntu.com/ubuntu jammy-updates InRelease             \nGet:7 http://dl.google.com/linux/chrome/deb stable/main amd64 Packages [1.079 B]\nHit:8 http://security.ubuntu.com/ubuntu jammy-security InRelease                \nGet:9 http://archive.ubuntu.com/ubuntu jammy-backports InRelease [108 kB]\nFetched 111 kB in 1s (114 kB/s)    \nReading package lists... Done\nBuilding dependency tree... Done\nReading state information... Done\n175 packages can be upgraded. Run 'apt list --upgradable' to see them.\n
"},{"location":"howtos/install-chrome-browser-linux-mint/#install-chrome","title":"Install Chrome","text":"guru@hp:~/Downloads$_output
sudo apt install google-chrome-stable\n
guru@hp:~/Downloads$ sudo apt install google-chrome-stable\nReading package lists... Done\nBuilding dependency tree... Done\nReading state information... Done\nThe following additional packages will be installed:\nlibu2f-udev\nThe following NEW packages will be installed:\ngoogle-chrome-stable libu2f-udev\n0 upgraded, 2 newly installed, 0 to remove and 175 not upgraded.\nNeed to get 94,4 MB of archives.\nAfter this operation, 322 MB of additional disk space will be used.\nDo you want to continue? [Y/n] y\nGet:1 http://dl.google.com/linux/chrome/deb stable/main amd64 google-chrome-stable amd64 114.0.5735.133-1 [94,4 MB]\nGet:2 http://archive.ubuntu.com/ubuntu jammy/main amd64 libu2f-udev all 1.1.10-3build2 [4.190 B]\nFetched 94,4 MB in 4s (24,2 MB/s)                                                 \nSelecting previously unselected package libu2f-udev.\n(Reading database ... 610101 files and directories currently installed.)\nPreparing to unpack .../libu2f-udev_1.1.10-3build2_all.deb ...\nUnpacking libu2f-udev (1.1.10-3build2) ...\nSelecting previously unselected package google-chrome-stable.\nPreparing to unpack .../google-chrome-stable_114.0.5735.133-1_amd64.deb ...\nUnpacking google-chrome-stable (114.0.5735.133-1) ...\nSetting up libu2f-udev (1.1.10-3build2) ...\nSetting up google-chrome-stable (114.0.5735.133-1) ...\nupdate-alternatives: using /usr/bin/google-chrome-stable to provide /usr/bin/x-www-browser (x-www-browser) in auto mode\nupdate-alternatives: using /usr/bin/google-chrome-stable to provide /usr/bin/gnome-www-browser (gnome-www-browser) in auto mode\nupdate-alternatives: using /usr/bin/google-chrome-stable to provide /usr/bin/google-chrome (google-chrome) in auto mode\nProcessing triggers for gnome-menus (3.36.0-1ubuntu3) ...\nProcessing triggers for man-db (2.10.2-1) ...\nProcessing triggers for mailcap (3.70+nmu1ubuntu1) ...\nProcessing triggers for desktop-file-utils (0.26+mint2+vera) ...\nguru@hp:~/Downloads$ \n
"},{"location":"howtos/install-chrome-browser-linux-mint/#start-chrome","title":"Start Chrome","text":"

Select \"Menu\" and start typing \"chr\". Start \"Google Chrome\".

"},{"location":"howtos/install-chrome-browser-linux-mint/#preferences","title":"Preferences","text":"

Do not send any stats or crash reports for now.

"},{"location":"howtos/install-chrome-browser-linux-mint/#adguard","title":"Adguard","text":"Step1Step2Step3

Use your favorite search engine to search for \"adguard chrome extension\"

Click \"Add to Chrome\" and follow the steps.

Finally, enable the first 4 buttons. Restart the browser. It's now ready for use.

"},{"location":"howtos/install-chrome-windows11/","title":"Install Chrome on Windows 11","text":"
  • todo
"},{"location":"howtos/install-firefox-windows11/","title":"Install Firefox on Windows 11","text":"
  • todo
"},{"location":"howtos/install-minicom-linux-mint/","title":"Install minicom on Linux Mint 21","text":"

todo

"},{"location":"howtos/install-packettracer-linux-mint/","title":"Install PacketTracer 8.2.2 on Linux Mint 21","text":""},{"location":"howtos/install-packettracer-linux-mint/#prereqs","title":"Prereqs","text":"
  • a PC (BIOS/UEFI) running Linux Mint 21
"},{"location":"howtos/install-packettracer-linux-mint/#download","title":"Download","text":"

Download PacketTracer from an official Cisco location (e.g Netacad.com, Skillsforall.com) and save it to disk. (VDAB users: download from your Google Drive!)

"},{"location":"howtos/install-packettracer-linux-mint/#open-terminal","title":"Open Terminal","text":"

Right-click on an empty space in the \"Nemo\" file manager and select \"Open in Terminal\".

"},{"location":"howtos/install-packettracer-linux-mint/#install","title":"Install","text":"

Install the .deb package using the \"apt install\" command with the relative path to the package file. APT will recognize it and install the package along with its dependencies, if any.

guru@hp:~/Downloads$_output
sudo apt install ./CiscoPacketTracer822_amd64_signed.deb\n
guru@vm26:~/Downloads$ sudo apt install ./CiscoPacketTracer822_amd64_signed.deb\n[sudo] password for guru:     \nReading package lists... Done\nBuilding dependency tree... Done\nReading state information... Done\nNote, selecting 'packettracer' instead of './CiscoPacketTracer822_amd64_signed.deb'\nThe following additional packages will be installed:\n  libgl1-mesa-glx libpthread-stubs0-dev libxau-dev libxcb-xinerama0-dev libxcb1-dev libxdmcp-dev\n  x11proto-dev xorg-sgml-doctools\nSuggested packages:\n  libxcb-doc\nThe following NEW packages will be installed:\n  libgl1-mesa-glx libpthread-stubs0-dev libxau-dev libxcb-xinerama0-dev libxcb1-dev libxdmcp-dev\n  packettracer x11proto-dev xorg-sgml-doctools\n0 upgraded, 9 newly installed, 0 to remove and 1 not upgraded.\nNeed to get 755 kB/284 MB of archives.\nAfter this operation, 2.765 kB of additional disk space will be used.\nDo you want to continue? [Y/n] y\nGet:1 http://archive.ubuntu.com/ubuntu jammy-updates/universe amd64 libgl1-mesa-glx amd64 23.0.4-0ubuntu1~22.04.1 [5.584 B]\n...\n...\n
"},{"location":"howtos/install-packettracer-linux-mint/#license-agreement","title":"License agreement","text":"

Read the license agreement :p and select \"OK\".

"},{"location":"howtos/install-packettracer-linux-mint/#eula-terms","title":"EULA terms","text":"

Accept the terms.

"},{"location":"howtos/install-packettracer-linux-mint/#notice","title":"Notice","text":"

Ignore the \"Notice\" warning at the end of the installation. All went well.

N: Download is performed unsandboxed as root as file '/home/guru/Downloads/CiscoPacketTracer822_amd64_signed.deb' couldn't be accessed by user '_apt'. - pkgAcquire::Run (13: Permission denied)\nguru@vm26:~/Downloads$ \n
"},{"location":"howtos/install-packettracer-linux-mint/#activation-link","title":"Activation link","text":"

Member of Cisco Network Academy? You should have received an activation link on your private e-mail. Activate your account.

"},{"location":"howtos/install-packettracer-linux-mint/#mint-menu","title":"Mint menu","text":"

Select \"Menu\" and start typing \"pac\". Start \"PacketTracer 8.2.2\".

"},{"location":"howtos/install-packettracer-linux-mint/#multi-user","title":"Multi-user","text":"

Answer \"no\".

"},{"location":"howtos/install-packettracer-linux-mint/#sign-in","title":"Sign-in","text":"

First choose \"Keep me logged in (for 3 months) and then select \"Cisco Networking Academy\".

"},{"location":"howtos/install-packettracer-linux-mint/#login","title":"Login","text":"

Type your private e-mailadress. Put a checkmark next to \"Remember me\" and click \"Login\". The password field appears. Fill in your password.

"},{"location":"howtos/install-packettracer-linux-mint/#font-configuration","title":"Font configuration","text":"

Personal preference here. Select \"Options -> Preferences -> Font\". Increase the fontsize to 12 and click \"Apply\". Then close the window.

"},{"location":"howtos/install-putty-windows11/","title":"Install Putty on Windows 11","text":"
  • todo
"},{"location":"howtos/install-rufus-windows11/","title":"Install Rufus on Windows 11","text":"
  • todo
"},{"location":"howtos/install-teraterm-windows11/","title":"Install Teraterm on Windows 11","text":"
  • todo
"},{"location":"howtos/install-tftp-linux-mint/","title":"Install tFTP on Linux Mint 21","text":""},{"location":"howtos/install-tftp-linux-mint/#prereqs","title":"Prereqs","text":"
  • a PC (BIOS/UEFI) running Linux Mint 21
"},{"location":"howtos/install-tftp-linux-mint/#update-the-apt-cache","title":"Update the APT cache","text":"guru@lab:~$_output
sudo apt update\n
guru@lab:~$ sudo apt update\nHit:1 http://archive.ubuntu.com/ubuntu jammy InRelease\nHit:2 http://security.ubuntu.com/ubuntu jammy-security InRelease                                                      \nHit:3 http://archive.ubuntu.com/ubuntu jammy-updates InRelease                                                        \nIgn:4 https://linuxmint-packages.mirror.liteserver.nl victoria InRelease                        \nHit:5 http://archive.ubuntu.com/ubuntu jammy-backports InRelease                                \nHit:6 https://linuxmint-packages.mirror.liteserver.nl victoria Release                          \nReading package lists... Done\nBuilding dependency tree... Done\nReading state information... Done\nAll packages are up to date.\nguru@lab:~$ \n
"},{"location":"howtos/install-tftp-linux-mint/#install-the-tftp-server-package","title":"Install the TFTP server package","text":"guru@lab:~$_output
sudo apt install tftpd-hpa\n
guru@lab:~$ sudo apt install tftpd-hpa\nReading package lists... Done\nBuilding dependency tree... Done\nReading state information... Done\nSuggested packages:\npxelinux\nThe following NEW packages will be installed:\ntftpd-hpa\n0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.\nNeed to get 40,7 kB of archives.\nAfter this operation, 122 kB of additional disk space will be used.\nGet:1 http://archive.ubuntu.com/ubuntu jammy/main amd64 tftpd-hpa amd64 5.2+20150808-1.2build2 [40,7 kB]\nFetched 40,7 kB in 0s (83,4 kB/s)  \nPreconfiguring packages ...\nSelecting previously unselected package tftpd-hpa.\n(Reading database ... 561282 files and directories currently installed.)\nPreparing to unpack .../tftpd-hpa_5.2+20150808-1.2build2_amd64.deb ...\nUnpacking tftpd-hpa (5.2+20150808-1.2build2) ...\nSetting up tftpd-hpa (5.2+20150808-1.2build2) ...\nProcessing triggers for man-db (2.10.2-1) ...\nguru@lab:~$ \n
"},{"location":"howtos/install-tftp-linux-mint/#configure-the-service-optional","title":"Configure the service (optional)","text":"guru@lab:~$_output
cat /etc/default/tftpd-hpa\n
guru@lab:~$ cat /etc/default/tftpd-hpa \n# /etc/default/tftpd-hpa\n\nTFTP_USERNAME=\"tftp\"\nTFTP_DIRECTORY=\"/srv/tftp\"\nTFTP_ADDRESS=\":69\"\nTFTP_OPTIONS=\"--secure\"\nguru@lab:~$ \n
"},{"location":"howtos/install-tftp-linux-mint/#view-directory-permissionsownership","title":"View directory permissions/ownership","text":"guru@lab:~$_output
ls -ld /srv/tftp/\n
guru@lab:~$ ls -ld /srv/tftp/\ndrwxr-xr-x 2 root nogroup 4096 Sep  7 13:56 /srv/tftp/\nguru@lab:~$\n
"},{"location":"howtos/install-tftp-linux-mint/#verify-the-service","title":"Verify the service","text":"guru@lab:~$_output
sudo systemctl status tftpd-hpa\n
guru@lab:~$ sudo systemctl status tftpd-hpa\n\u25cf tftpd-hpa.service - LSB: HPA's tftp server\n    Loaded: loaded (/etc/init.d/tftpd-hpa; generated)\n    Active: active (running) since Thu 2023-09-07 13:56:28 CEST; 9min ago\n    Docs: man:systemd-sysv-generator(8)\n    Process: 3293 ExecStart=/etc/init.d/tftpd-hpa start (code=exited, status=0/SUCCESS)\n    Tasks: 1 (limit: 4539)\n    Memory: 404.0K\n        CPU: 8ms\n    CGroup: /system.slice/tftpd-hpa.service\n            \u2514\u25003301 /usr/sbin/in.tftpd --listen --user tftp --address :69 --secure /srv/tftp\n\nSep 07 13:56:28 lab systemd[1]: Starting LSB: HPA's tftp server...\nSep 07 13:56:28 lab tftpd-hpa[3293]:  * Starting HPA's tftpd in.tftpd\nSep 07 13:56:28 lab tftpd-hpa[3293]:    ...done.\nSep 07 13:56:28 lab systemd[1]: Started LSB: HPA's tftp server.\nguru@lab:~$ \n
"},{"location":"howtos/install-tftp-linux-mint/#enable-the-service-to-start-on-boot-optional","title":"Enable the service to start on boot (optional)","text":"guru@lab:~$_output
sudo systemctl enable tftpd-hpa\n
guru@lab:/srv/tftp$ sudo systemctl enable tftpd-hpa\n[sudo] password for guru:     \ntftpd-hpa.service is not a native service, redirecting to systemd-sysv-install.\nExecuting: /lib/systemd/systemd-sysv-install enable tftpd-hpa\nguru@lab:/srv/tftp$ \n
"},{"location":"howtos/install-tftp-linux-mint/#serve-a-file","title":"Serve a file","text":"

In this example, a valid Cisco IOS image is copied to the tFTP directory and permissions are set.

guru@lab:~$_output
sudo cp /home/guru/Downloads/c2960-lanbasek9-mz.152-7.E8.bin /srv/tftp/\nsudo chmod 644 /srv/tftp/c2960-lanbasek9-mz.152-7.E8.bin\n
guru@lab:~$ sudo cp /home/guru/Downloads/c2960-lanbasek9-mz.152-7.E8.bin /srv/tftp/\n[sudo] password for guru:     \nguru@lab:~$ sudo chmod 644 /srv/tftp/c2960-lanbasek9-mz.152-7.E8.bin \nguru@lab:~$\n
"},{"location":"howtos/install-virtualbox-linux-mint/","title":"Install VirtualBox 6.1.50 on Linux Mint 21","text":""},{"location":"howtos/install-virtualbox-linux-mint/#prereqs","title":"Prereqs","text":"
  • a PC (BIOS/UEFI) running Linux Mint 21
"},{"location":"howtos/install-virtualbox-linux-mint/#update-package-list","title":"Update package list","text":"guru@hp:~$_output
sudo apt update\n
guru@hp:~$ sudo apt update\nHit:1 http://archive.ubuntu.com/ubuntu jammy InRelease\nGet:2 http://archive.ubuntu.com/ubuntu jammy-updates InRelease [119 kB]                                                        \nIgn:3 https://mirrors-linux-mint.behostings.com/mint virginia InRelease                                                        \nHit:4 https://mirrors-linux-mint.behostings.com/mint virginia Release                                             \nHit:6 http://archive.ubuntu.com/ubuntu jammy-backports InRelease                             \nGet:7 http://security.ubuntu.com/ubuntu jammy-security InRelease [110 kB]\nFetched 229 kB in 1s (384 kB/s)    \nReading package lists... Done\nBuilding dependency tree... Done\nReading state information... Done\n7 packages can be upgraded. Run 'apt list --upgradable' to see them.\nguru@hp:~$ \n
"},{"location":"howtos/install-virtualbox-linux-mint/#check-version-in-repository","title":"Check version in repository","text":"guru@hp:~$_output
sudo apt-cache policy virtualbox\n
guru@hp:~$ sudo apt-cache policy virtualbox\nvirtualbox:\nInstalled: (none)\nCandidate: 6.1.50-dfsg-1~ubuntu1.22.04.1\nVersion table:\n    6.1.50-dfsg-1~ubuntu1.22.04.1 500\n        500 http://archive.ubuntu.com/ubuntu jammy-updates/multiverse amd64 Packages\n    6.1.32-dfsg-1build1 500\n        500 http://archive.ubuntu.com/ubuntu jammy/multiverse amd64 Packages\nguru@hp:~$ \n
"},{"location":"howtos/install-virtualbox-linux-mint/#install-virtualbox","title":"Install VirtualBox","text":"guru@hp:~$_output
sudo apt install virtualbox\n
guru@hp:~$ sudo apt install virtualbox\nReading package lists... Done\nBuilding dependency tree... Done\nReading state information... Done\nThe following additional packages will be installed:\n  libgsoap-2.8.117 liblzf1 libqt5opengl5 libqt5printsupport5 libqt5x11extras5 libsdl1.2debian libvncserver1 virtualbox-dkms virtualbox-qt\nSuggested packages:\n  vde2 virtualbox-guest-additions-iso\nThe following NEW packages will be installed:\n  libgsoap-2.8.117 liblzf1 libqt5opengl5 libqt5printsupport5 libqt5x11extras5 libsdl1.2debian libvncserver1 virtualbox virtualbox-dkms virtualbox-qt\n0 upgraded, 10 newly installed, 0 to remove and 7 not upgraded.\nNeed to get 47,1 MB of archives.\nAfter this operation, 182 MB of additional disk space will be used.\nDo you want to continue? [Y/n] y\nGet:1 http://archive.ubuntu.com/ubuntu jammy/universe amd64 libgsoap-2.8.117 amd64 2.8.117-2build1 [269 kB]\nGet:2 http://archive.ubuntu.com/ubuntu jammy/universe amd64 liblzf1 amd64 3.6-3 [7.444 B]\nGet:3 http://archive.ubuntu.com/ubuntu jammy-updates/universe amd64 libqt5opengl5 amd64 5.15.3+dfsg-2ubuntu0.2 [153 kB]\nGet:4 http://archive.ubuntu.com/ubuntu jammy-updates/universe amd64 libqt5printsupport5 amd64 5.15.3+dfsg-2ubuntu0.2 [214 kB]\nGet:5 http://archive.ubuntu.com/ubuntu jammy/universe amd64 libqt5x11extras5 amd64 5.15.3-1 [10,9 kB]\nGet:6 http://archive.ubuntu.com/ubuntu jammy/universe amd64 libsdl1.2debian amd64 1.2.15+dfsg2-6 [177 kB]\nGet:7 http://archive.ubuntu.com/ubuntu jammy/main amd64 libvncserver1 amd64 0.9.13+dfsg-3build2 [131 kB]\nGet:8 http://archive.ubuntu.com/ubuntu jammy-updates/multiverse amd64 virtualbox-dkms amd64 6.1.50-dfsg-1~ubuntu1.22.04.1 [722 kB]\nGet:9 http://archive.ubuntu.com/ubuntu jammy-updates/multiverse amd64 virtualbox amd64 6.1.50-dfsg-1~ubuntu1.22.04.1 [23,3 MB]\nGet:10 http://archive.ubuntu.com/ubuntu jammy-updates/multiverse amd64 virtualbox-qt amd64 6.1.50-dfsg-1~ubuntu1.22.04.1 [22,1 MB]\nFetched 47,1 MB in 3s (18,3 MB/s)         \nSelecting previously unselected package libgsoap-2.8.117:amd64.\n(Reading database ... 565027 files and directories currently installed.)\nPreparing to unpack .../0-libgsoap-2.8.117_2.8.117-2build1_amd64.deb ...\nUnpacking libgsoap-2.8.117:amd64 (2.8.117-2build1) ...\nSelecting previously unselected package liblzf1:amd64.\nPreparing to unpack .../1-liblzf1_3.6-3_amd64.deb ...\nUnpacking liblzf1:amd64 (3.6-3) ...\nSelecting previously unselected package libqt5opengl5:amd64.\nPreparing to unpack .../2-libqt5opengl5_5.15.3+dfsg-2ubuntu0.2_amd64.deb ...\nUnpacking libqt5opengl5:amd64 (5.15.3+dfsg-2ubuntu0.2) ...\nSelecting previously unselected package libqt5printsupport5:amd64.\nPreparing to unpack .../3-libqt5printsupport5_5.15.3+dfsg-2ubuntu0.2_amd64.deb ...\nUnpacking libqt5printsupport5:amd64 (5.15.3+dfsg-2ubuntu0.2) ...\nSelecting previously unselected package libqt5x11extras5:amd64.\nPreparing to unpack .../4-libqt5x11extras5_5.15.3-1_amd64.deb ...\nUnpacking libqt5x11extras5:amd64 (5.15.3-1) ...\nSelecting previously unselected package libsdl1.2debian:amd64.\nPreparing to unpack .../5-libsdl1.2debian_1.2.15+dfsg2-6_amd64.deb ...\nUnpacking libsdl1.2debian:amd64 (1.2.15+dfsg2-6) ...\nSelecting previously unselected package libvncserver1:amd64.\nPreparing to unpack .../6-libvncserver1_0.9.13+dfsg-3build2_amd64.deb ...\nUnpacking libvncserver1:amd64 (0.9.13+dfsg-3build2) ...\nSelecting previously unselected package virtualbox-dkms.\nPreparing to unpack .../7-virtualbox-dkms_6.1.50-dfsg-1~ubuntu1.22.04.1_amd64.deb ...\nUnpacking virtualbox-dkms (6.1.50-dfsg-1~ubuntu1.22.04.1) ...\nSelecting previously unselected package virtualbox.\nPreparing to unpack .../8-virtualbox_6.1.50-dfsg-1~ubuntu1.22.04.1_amd64.deb ...\nUnpacking virtualbox (6.1.50-dfsg-1~ubuntu1.22.04.1) ...\nSelecting previously unselected package virtualbox-qt.\nPreparing to unpack .../9-virtualbox-qt_6.1.50-dfsg-1~ubuntu1.22.04.1_amd64.deb ...\nUnpacking virtualbox-qt (6.1.50-dfsg-1~ubuntu1.22.04.1) ...\nSetting up libqt5x11extras5:amd64 (5.15.3-1) ...\nSetting up libgsoap-2.8.117:amd64 (2.8.117-2build1) ...\nSetting up libvncserver1:amd64 (0.9.13+dfsg-3build2) ...\nSetting up libqt5printsupport5:amd64 (5.15.3+dfsg-2ubuntu0.2) ...\nSetting up liblzf1:amd64 (3.6-3) ...\nSetting up libsdl1.2debian:amd64 (1.2.15+dfsg2-6) ...\nSetting up libqt5opengl5:amd64 (5.15.3+dfsg-2ubuntu0.2) ...\nSetting up virtualbox-dkms (6.1.50-dfsg-1~ubuntu1.22.04.1) ...\nLoading new virtualbox-6.1.50 DKMS files...\nBuilding for 5.15.0-101-generic\nBuilding initial module for 5.15.0-101-generic\nSecure Boot not enabled on this system.\nDone.\n\nvboxdrv.ko:\nRunning module version sanity check.\n- Original module\n- No original module exists within this kernel\n- Installation\n- Installing to /lib/modules/5.15.0-101-generic/updates/dkms/\n\nvboxnetadp.ko:\nRunning module version sanity check.\n- Original module\n- No original module exists within this kernel\n- Installation\n- Installing to /lib/modules/5.15.0-101-generic/updates/dkms/\n\nvboxnetflt.ko:\nRunning module version sanity check.\n- Original module\n- No original module exists within this kernel\n- Installation\n- Installing to /lib/modules/5.15.0-101-generic/updates/dkms/\n\ndepmod...\nSetting up virtualbox (6.1.50-dfsg-1~ubuntu1.22.04.1) ...\nSetting up virtualbox-qt (6.1.50-dfsg-1~ubuntu1.22.04.1) ...\nProcessing triggers for mailcap (3.70+nmu1ubuntu1) ...\nProcessing triggers for desktop-file-utils (0.26+mint3+victoria) ...\nProcessing triggers for hicolor-icon-theme (0.17-2) ...\nProcessing triggers for gnome-menus (3.36.0-1ubuntu3) ...\nProcessing triggers for libc-bin (2.35-0ubuntu3.6) ...\nProcessing triggers for man-db (2.10.2-1) ...\nProcessing triggers for shared-mime-info (2.1-2) ...\n
"},{"location":"howtos/install-virtualbox-linux-mint/#install-extension-pack","title":"Install extension pack","text":"

VirtualBox requires an extension pack to provide support for Remote Desktop Protocol, USB 2.0, PXE booting for Intel network cards, ...

guru@hp:~$_output
sudo apt install virtualbox-ext-pack\n
guru@hp:~$ sudo apt install virtualbox-ext-pack\nReading package lists... Done\nBuilding dependency tree... Done\nReading state information... Done\nThe following NEW packages will be installed:\n  virtualbox-ext-pack\n0 upgraded, 1 newly installed, 0 to remove and 7 not upgraded.\nNeed to get 10,7 kB of archives.\nAfter this operation, 143 kB of additional disk space will be used.\nGet:1 http://archive.ubuntu.com/ubuntu jammy-updates/multiverse amd64 virtualbox-ext-pack all 6.1.50-1~ubuntu1.22.04.1 [10,7 kB]\nFetched 10,7 kB in 0s (94,5 kB/s)             \nPreconfiguring packages ...\nSelecting previously unselected package virtualbox-ext-pack.\n(Reading database ... 565724 files and directories currently installed.)\nPreparing to unpack .../virtualbox-ext-pack_6.1.50-1~ubuntu1.22.04.1_all.deb ...\nLicense has already been accepted.\nUnpacking virtualbox-ext-pack (6.1.50-1~ubuntu1.22.04.1) ...\nSetting up virtualbox-ext-pack (6.1.50-1~ubuntu1.22.04.1) ...\nvirtualbox-ext-pack: downloading: https://download.virtualbox.org/virtualbox/6.1.50/Oracle_VM_VirtualBox_Extension_Pack-6.1.50.vbox-extpack\nThe file will be downloaded into /usr/share/virtualbox-ext-pack\nLicense accepted.\n0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%\nSuccessfully installed \"Oracle VM VirtualBox Extension Pack\".\n
"},{"location":"howtos/install-virtualbox-linux-mint/#install-guest-additions","title":"Install guest additions","text":"

The \"VirtualBox Guest Additions\" package provides an iso image which contains the guest additions for Linux, Solaris and Windows to be installed on the host system. The guest systems then can mount the iso and install the guest additions from there.

guru@hp:~$_output
sudo apt install virtualbox-guest-additions-iso\n
guru@hp:~$ sudo apt install virtualbox-guest-additions-iso\nReading package lists... Done\nBuilding dependency tree... Done\nReading state information... Done\nThe following NEW packages will be installed:\n  virtualbox-guest-additions-iso\n0 upgraded, 1 newly installed, 0 to remove and 7 not upgraded.\nNeed to get 48,1 MB of archives.\nAfter this operation, 64,1 MB of additional disk space will be used.\nGet:1 http://archive.ubuntu.com/ubuntu jammy-updates/multiverse amd64 virtualbox-guest-additions-iso all 6.1.50-1~ubuntu1.22.04.1 [48,1 MB]\nFetched 48,1 MB in 2s (25,6 MB/s)                         \nSelecting previously unselected package virtualbox-guest-additions-iso.\n(Reading database ... 565729 files and directories currently installed.)\nPreparing to unpack .../virtualbox-guest-additions-iso_6.1.50-1~ubuntu1.22.04.1_all.deb ...\nUnpacking virtualbox-guest-additions-iso (6.1.50-1~ubuntu1.22.04.1) ...\nSetting up virtualbox-guest-additions-iso (6.1.50-1~ubuntu1.22.04.1) ...\nguru@hp:~$ \n
"},{"location":"howtos/install-virtualbox-linux-mint/#start-virtualbox","title":"Start VirtualBox","text":"

Select \"Menu\" and start typing \"vir\". Start \"Oracle VM VirtualBox\".

"},{"location":"howtos/install-virtualbox7-linux-mint21/","title":"Install VirtualBox 7 on Linux Mint 21","text":""},{"location":"howtos/install-virtualbox7-linux-mint21/#prereqs","title":"Prereqs","text":"
  • a PC (BIOS/UEFI) running Linux Mint 21
"},{"location":"howtos/install-virtualbox7-linux-mint21/#import-gpg-key","title":"Import GPG key","text":"

By default, VirtualBox 6 is available in the Linux Mint 21 repo, not VirtualBox 7. In the next step, we'll add it to our system. First, let's import the Oracle VirtualBox GPG keys that sign the software.

guru@lab:~$_output
wget -q -O- https://www.virtualbox.org/download/oracle_vbox_2016.asc | sudo gpg --dearmor --yes --output /usr/share/keyrings/oracle-virtualbox-2016.gpg\n
guru@lab:~$ wget -q -O- https://www.virtualbox.org/download/oracle_vbox_2016.asc | sudo gpg --dearmor --yes --output /usr/share/keyrings/oracle-virtualbox-2016.gpg\n[sudo] password for guru:     \nguru@lab:~$ \n
"},{"location":"howtos/install-virtualbox7-linux-mint21/#add-repository","title":"Add repository","text":"

Add the official VirtualBox repository to Linux mint 21. New versions will be available when you update the Linux Mint system.

guru@lab:~$_output
echo \"deb [arch=amd64 signed-by=/usr/share/keyrings/oracle-virtualbox-2016.gpg] http://download.virtualbox.org/virtualbox/debian jammy contrib\" | sudo tee /etc/apt/sources.list.d/virtualbox.list\n
guru@lab:~$ echo \"deb [arch=amd64 signed-by=/usr/share/keyrings/oracle-virtualbox-2016.gpg] http://download.virtualbox.org/virtualbox/debian jammy contrib\" | sudo tee /etc/apt/sources.list.d/virtualbox.list  \ndeb [arch=amd64 signed-by=/usr/share/keyrings/oracle-virtualbox-2016.gpg] http://download.virtualbox.org/virtualbox/debian jammy contrib\nguru@lab:~$ \n
"},{"location":"howtos/install-virtualbox7-linux-mint21/#update-package-list","title":"Update package list","text":"guru@lab:~$_output
sudo apt update\n
guru@lab:~$ sudo apt update\nIgn:1 https://mintlinux.mirror.wearetriple.com/packages virginia InRelease\nHit:2 https://mintlinux.mirror.wearetriple.com/packages virginia Release                            \nHit:3 http://security.ubuntu.com/ubuntu jammy-security InRelease                                                     \nHit:4 http://archive.ubuntu.com/ubuntu jammy InRelease                                                               \nGet:5 http://download.virtualbox.org/virtualbox/debian jammy InRelease [4.428 B]\nHit:6 http://archive.ubuntu.com/ubuntu jammy-updates InRelease                  \nHit:8 http://archive.ubuntu.com/ubuntu jammy-backports InRelease\nGet:9 http://download.virtualbox.org/virtualbox/debian jammy/contrib amd64 Packages [1.495 B]\nFetched 5.923 B in 1s (5.015 B/s)     \nReading package lists... Done\nBuilding dependency tree... Done\nReading state information... Done\nAll packages are up to date.\nguru@lab:~$ \n
"},{"location":"howtos/install-virtualbox7-linux-mint21/#install-virtualbox","title":"Install VirtualBox","text":"

Notice in the output, a group vboxusers will be created.

guru@lab:~$_output
sudo apt install virtualbox-7.0\n
guru@lab:~$ sudo apt install virtualbox-7.0 -y\nReading package lists... Done\nBuilding dependency tree... Done\nReading state information... Done\nThe following additional packages will be installed:\nlibqt5help5 libqt5opengl5 libqt5printsupport5 libqt5sql5 libqt5sql5-sqlite libqt5x11extras5 libqt5xml5 libsdl-ttf2.0-0 libsdl1.2debian\nThe following NEW packages will be installed:\nlibqt5help5 libqt5opengl5 libqt5printsupport5 libqt5sql5 libqt5sql5-sqlite libqt5x11extras5 libqt5xml5 libsdl-ttf2.0-0 libsdl1.2debian virtualbox-7.0\n0 upgraded, 10 newly installed, 0 to remove and 0 not upgraded.\nNeed to get 93,9 MB of archives.\nAfter this operation, 224 MB of additional disk space will be used.\nGet:1 http://archive.ubuntu.com/ubuntu jammy-updates/universe amd64 libqt5sql5 amd64 5.15.3+dfsg-2ubuntu0.2 [123 kB]\n...\n...\nSetting up virtualbox-7.0 (7.0.20-163906~Ubuntu~jammy) ...\nAdding group `vboxusers' (GID 138) ...\nDone.\nProcessing triggers for desktop-file-utils (0.26+mint3+victoria) ...\n...\nguru@lab:~$ \n
"},{"location":"howtos/install-virtualbox7-linux-mint21/#verify-installed-version","title":"Verify installed version","text":"

In a next step, we'll install the VirtualBox Extension Pack. It is important that the version matches the version of VirtualBox. Let's checkout the version of VirtualBox.

guru@lab:~$_output
vboxmanage -v | cut -dr -f1\n
guru@lab:~$ vboxmanage -v | cut -dr -f1\n7.0.20\nguru@lab:~$ \n
"},{"location":"howtos/install-virtualbox7-linux-mint21/#download-extension-pack","title":"Download extension pack","text":"

In this case, the version is 7.0.20. Download the Extension Pack with the same version.

guru@lab:~$_output
wget https://download.virtualbox.org/virtualbox/7.0.20/Oracle_VM_VirtualBox_Extension_Pack-7.0.20.vbox-extpack\n
guru@lab:~$ wget https://download.virtualbox.org/virtualbox/7.0.20/Oracle_VM_VirtualBox_Extension_Pack-7.0.20.vbox-extpack\n--2024-07-18 14:59:08--  https://download.virtualbox.org/virtualbox/7.0.20/Oracle_VM_VirtualBox_Extension_Pack-7.0.20.vbox-extpack\nResolving download.virtualbox.org (download.virtualbox.org)... 92.123.50.125\nConnecting to download.virtualbox.org (download.virtualbox.org)|92.123.50.125|:443... connected.\nHTTP request sent, awaiting response... 200 OK\nLength: 18263914 (17M) [text/plain]\nSaving to: \u2018Oracle_VM_VirtualBox_Extension_Pack-7.0.20.vbox-extpack\u2019\n\nOracle_VM_VirtualBox_Extension_Pack-7.0.20.vbox-extpack     100%[=========================================================================================================================================>]  17,42M  56,5MB/s    in 0,3s    \n\n2024-07-18 14:59:09 (56,5 MB/s) - \u2018Oracle_VM_VirtualBox_Extension_Pack-7.0.20.vbox-extpack\u2019 saved [18263914/18263914]\n\nguru@lab:~$\n
"},{"location":"howtos/install-virtualbox7-linux-mint21/#install-extension-pack","title":"Install extension pack","text":"

You will be prompted to agree to the Oracle\u2019s license terms and conditions.

guru@lab:~$_output
sudo vboxmanage extpack install Oracle_VM_VirtualBox_Extension_Pack-7.0.20.vbox-extpack\n
guru@lab:~$ sudo vboxmanage extpack install Oracle_VM_VirtualBox_Extension_Pack-7.0.20.vbox-extpack \nVirtualBox Extension Pack Personal Use and Evaluation License (PUEL)\n\nLicense version 11, 21 May 2020\n\nPLEASE READ THE FOLLOWING ORACLE VM VIRTUALBOX EXTENSION PACK PERSONAL\nUSE AND EVALUATION LICENSE CAREFULLY BEFORE DOWNLOADING OR USING THE\nORACLE SOFTWARE...\n...\n...\nDo you agree to these license terms and conditions (y/n)? y\n\nLicense accepted. For batch installation add\n--accept-license=33d7284dc4a0ece381196fda3cfe2ed0e1e8e7ed7f27b9a9ebc4ee22e24bd23c\nto the VBoxManage command line.\n\n0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%\nSuccessfully installed \"Oracle VM VirtualBox Extension Pack\".\nguru@lab:~$ \n
"},{"location":"howtos/install-virtualbox7-linux-mint21/#verify-extension-pack","title":"Verify extension pack","text":"guru@lab:~$_output
vboxmanage list extpacks | grep \"Version\"\n
guru@lab:~$ vboxmanage list extpacks | grep \"Version\"\nVersion:        7.0.20\nguru@lab:~$ \n
"},{"location":"howtos/install-virtualbox7-linux-mint21/#add-user-to-vboxusers-group","title":"Add user to vboxusers group","text":"guru@lab:~$_output
sudo usermod -aG vboxusers guru\n
guru@lab:~$ sudo usermod -aG vboxusers guru\nguru@lab:~$ \n
"},{"location":"howtos/install-virtualbox7-linux-mint21/#reboot-verify-group-membership","title":"Reboot + verify group membership","text":"

The user's current session doesn't automatically update with the new group memberships. The id command only reflects the groups that the current session is aware of. The easiest way is to do a reboot first. Then check if the user is member of the group.

guru@lab:~$_output
sudo reboot\nid\n
guru@lab:~$ id\nuid=1000(guru) gid=1000(guru) groups=1000(guru),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),115(lpadmin),136(sambashare),138(vboxusers),999(vboxsf)\nguru@lab:~$ \n
"},{"location":"howtos/install-virtualbox7-linux-mint21/#start-virtualbox","title":"Start VirtualBox","text":"

Select \"Menu\" and start typing \"vir\". Start \"Oracle VM VirtualBox\".

"},{"location":"howtos/install-windows11-virtualbox/","title":"Install Windows 11 in VirtualBox 6.1.44","text":""},{"location":"howtos/install-windows11-virtualbox/#create-vm","title":"Create VM","text":"StepXStepX

XXX

XXX

"},{"location":"howtos/install-windows11-virtualbox/#configure-vm","title":"Configure VM","text":"

11 steps

"},{"location":"howtos/install-windows11-virtualbox/#install-os","title":"Install OS","text":""},{"location":"howtos/install-windows11-virtualbox/#boot-from-iso","title":"Boot from ISO","text":"

3 steps

"},{"location":"howtos/install-windows11-virtualbox/#bypass","title":"Bypass","text":"

4 steps

"},{"location":"howtos/install-windows11-virtualbox/#time-and-currency-format","title":"Time and currency format","text":"

Dutch (Belgium). Keyboard or input method: \u201cBelgian (Period).

"},{"location":"howtos/install-windows11-virtualbox/#activation-depends","title":"Activation (depends)","text":"

The presence or absence of the \"Windows activation\" screen during the installation of Windows 11 22H2 can depend on various factors. If you get this screen, choose \"I don't have a product key\". If not, proceed to the next step.

"},{"location":"howtos/install-windows11-virtualbox/#select-os-depends","title":"Select OS (depends)","text":"

The presence or absence of the \"Select the operating system you want to install\" screen during the installation of \"Windows 11 22H2\" can depend on various factors. If you get this screen, choose \"Windows 11 Pro\". If not, proceed to the next step.

"},{"location":"howtos/install-windows11-virtualbox/#install-now","title":"Install now","text":"

Notice, you also have a \"repair\" option here... Choose \"Install now\".

"},{"location":"howtos/install-windows11-virtualbox/#license-agreement","title":"License agreement","text":"

Accept.

"},{"location":"howtos/install-windows11-virtualbox/#type-of-installation","title":"Type of installation","text":"

Select \u201cCustom: Install Windows only (advanced)\".

"},{"location":"howtos/install-windows11-virtualbox/#installation-location-partitioning","title":"Installation location & partitioning","text":"

There are no partitions yet. Click \"next\".

"},{"location":"howtos/install-windows11-virtualbox/#installing","title":"Installing","text":"

Grab a coffee. The VM reboots for the first time. Virtual UEFI/BIOS won't boot of the ISO image, as it finds a Windows installation on the virtual harddrive. Getting ready. Restart2.

"},{"location":"howtos/install-windows11-virtualbox/#configuration","title":"Configuration","text":"

Personal preference here. I select \"Belgium\". Personal preference here. I select \"Belgian (Period)\". Select \"Skip\".

"},{"location":"howtos/install-windows11-virtualbox/#bypass-internet-connection","title":"Bypass internet connection","text":"

Momenteel is nog geen Internetverbinding actief (NAT-network). Microsoft wil ons hier nl. zoveel mogelijk pushen in de richting van een Microsoft account. Dit omzeilen we even. Druk \u201cshift+F10\u201d en typ op de commando-regel: \u201cOOBE\\BYPASSNRO\u201d (opgelet: letters \u201cO\u201d en geen cijfer \u201c0\u201d, mag in kleine letters)

De virtuele machine herstart en de OOBE (Out-of-the-box-experience) herstart. Helaas moet je nogmaals de correcte regio (Belgium) en keyboard layout (Belgium(period)) kiezen. \u201cSkip\u201d ook opnieuw de extra keyboard layout.

We krijgen nu de optie \u201cI don\u2019t have internet\u201d. Kies deze.

Selecteer \u201cContinue with limited setup\u201d.

"},{"location":"howtos/install-windows11-virtualbox/#account","title":"Account","text":"

Login: guru Password: guru Acknowlege the password: guru Security question1: Doggy Security question2: Wevelgem Security question3: IT guru

"},{"location":"howtos/install-windows11-virtualbox/#finishing","title":"Finishing","text":"

Location based services: \u201cNo\u201d. Find my device: \u201cNo\u201d. Diagnostic data: \u201cRequired only\u201d. Inking & typing: \u201cNo\u201d. Tailored experiences: \u201cNo\u201d. Advertising ID: \u201cNo\u201d. Installing... Installation done! Merk op, dat je in deze fase o.a. nog geen \u201cfull screen\u201d kan bekomen. Hiervoor zijn de \u201cvirtualbox guest additions\u201d nodig die we straks installeren.

"},{"location":"howtos/install-windows11-virtualbox/#configure-os","title":"Configure OS","text":""},{"location":"howtos/install-windows11-virtualbox/#guest-additions","title":"Guest additions","text":"

Op dit moment draait Windows 11 nog niet \u201cfullscreen\u201d \u00e9n is de shared folder \u201c/home/guru/Downloads\u201d nog niet zichtbaar in de Verkenner. Hiervoor dien je de \u201cVirtualBox Guest Additions\u201d te installeren. Selecteer in het Devices -> Insert Guest Additions CD Image (op het eerste zicht, gebeurt er niets, maar er wordt een virtuele CD \u201cgemount\u201d)

start de Verkenner: je ziet deze \u201cvirtuele CD\u201d nu via de D:\\ drive

Dubbelklik op \u201cVboxWindowsAdditions-amd64\u201d. Lees en begrijp alle meldingen. Volg de standaard installatie procedure + herstart.

Login (\u201cguru\u201d/\u201dguru\u201d)

Klik op View -> Full-screen Mode

Lees/begrijp wat vervolgens als pop-up verschijnt

Start de \u201cVerkenner\u201d: rechtermuisknop op D:\\ -> Eject (= \u201cverwijder de virtuele CD\u201d, de Verkenner sluit)

de shared folder \u201c/home/guru/Downloads\u201d is nu wel zichtbaar in de verkenner, via een drive-letter Z:

"},{"location":"howtos/install-windows11-virtualbox/#ip-address","title":"IP address","text":"

rechtermuisknop netwerk icoontje -> Network and Internet settings

klik op \u201cEthernet\u201d

klik op \u201cEdit\u201d

we gaan \u201cDHCP\u201d wijzigen naar \u201cManual\u201d, zet ineens \u201cIPv4\u201d aan en configureer IP, subnetmask, gateway en DNS server

\u201cWindows Key + R\u201d om het \u201crun\u201d venster te tonen + typ \u201ccmd\u201d om een commando-regel te starten: verifieer je Internetverbing

het netwerkicoon rechtsonderaan zal weldra wijzigen in dit:

"},{"location":"howtos/install-windows11-virtualbox/#computername","title":"Computername","text":"

wijzig de computernaam naar \u201cvm6\u201d (herstart \u201clater\u201d)

"},{"location":"howtos/install-windows11-virtualbox/#automatic-updates","title":"Automatic updates","text":"

doe een volledige update van Windows en herstart indien nodig

klik op \u201cCheck for updates\u201d, tot geen updates meer beschikbaar zijn

\u201cdisable\u201d daarna de automatic updates; - \u201cWindows Key + R\u201d om het \u201crun\u201d venster te tonen - typ \u201cservices.msc\u201d en druk \u201cEnter\u201d - scroll in de lijst tot je \u201cWindows Update\u201d ziet. Dubbelklik. Onder tab \u201cGeneral\u201d kies je bij \u201cStartup type\u201d voor \u201cDisabled\u201d. Klik vervolgens \u201cOK\u201d.

"},{"location":"howtos/install-windows11-virtualbox/#restart-and-shutdown","title":"Restart and shutdown","text":"

doe nog een laatste \u201cherstart\u201d

\u201cshutdown\u201d (afsluiten) van Windows

"},{"location":"howtos/install-windows11-virtualbox/#snapshot-vm","title":"Snapshot VM","text":"

Klik op het icoontje met de 3 vierkantjes/streepjes en kies \u201cSnapshots\u201d. Windows moet zeker \u201cPowered Off\u201d zijn.

Selecteer de \u201ccurrent state\u201d en klik op \u201cTake\u201d. Geef als naam \u201cClean install\u201d

Vanaf je iets wijzigt in deze virtuele machine, krijg je \u201cCurrent State (changed). Mocht je nu \u201cWindows\u201d om zeep helpen, dan kan je steeds terugkeren naar een \u201cClean install\u201d situatie via \u201cRestore snapshot\u201d.

"},{"location":"howtos/install-winscp-windows11/","title":"Install WinSCP on Windows 11","text":"
  • todo
"},{"location":"howtos/install-wireshark-linux-mint21/","title":"Install Wireshark on Linux Mint 21","text":""},{"location":"howtos/install-wireshark-linux-mint21/#prereqs","title":"Prereqs","text":"
  • a PC (BIOS/UEFI) running Linux Mint 21
"},{"location":"howtos/install-wireshark-linux-mint21/#update-package-list","title":"Update package list","text":"guru@lab:~$_output
sudo apt update\n
guru@lab:~$ sudo apt update\n[sudo] password for guru:     \nIgn:1 https://linuxmint-packages.mirror.liteserver.nl victoria InRelease\nHit:2 http://archive.ubuntu.com/ubuntu jammy InRelease                     \nHit:3 https://linuxmint-packages.mirror.liteserver.nl victoria Release     \nHit:4 http://security.ubuntu.com/ubuntu jammy-security InRelease\nHit:5 http://archive.ubuntu.com/ubuntu jammy-updates InRelease\nHit:6 http://archive.ubuntu.com/ubuntu jammy-backports InRelease\nReading package lists... Done\nBuilding dependency tree... Done\nReading state information... Done\nAll packages are up to date.\nguru@lab:~$  \n
"},{"location":"howtos/install-wireshark-linux-mint21/#install-wireshark","title":"Install Wireshark","text":"step1 (guru@lab:~$_)step2step3 (output)
sudo apt install wireshark -y\n

Let's allow non-superusers to capture packets.

guru@lab:~$ sudo apt install wireshark -y\nReading package lists... Done\nBuilding dependency tree... Done\nReading state information... Done\nThe following additional packages will be installed:\nlibbcg729-0 libminizip1 libqt5multimedia5 libqt5multimedia5-plugins libqt5multimediagsttools5 libqt5multimediawidgets5 libqt5printsupport5 libsmi2ldbl libwireshark-data libwireshark15 libwiretap12 libwsutil13 wireshark-common\nwireshark-qt\nSuggested packages:\nsnmp-mibs-downloader geoipupdate geoip-database-extra libjs-leaflet libjs-leaflet.markercluster wireshark-doc\nThe following NEW packages will be installed:\nlibbcg729-0 libminizip1 libqt5multimedia5 libqt5multimedia5-plugins libqt5multimediagsttools5 libqt5multimediawidgets5 libqt5printsupport5 libsmi2ldbl libwireshark-data libwireshark15 libwiretap12 libwsutil13 wireshark\nwireshark-common wireshark-qt\n0 upgraded, 15 newly installed, 0 to remove and 0 not upgraded.\nNeed to get 27,3 MB of archives.\nAfter this operation, 131 MB of additional disk space will be used.\nGet:1 http://archive.ubuntu.com/ubuntu jammy/universe amd64 libbcg729-0 amd64 1.1.1-2 [32,9 kB]\nGet:2 http://archive.ubuntu.com/ubuntu jammy/universe amd64 libminizip1 amd64 1.1-8build1 [20,2 kB]\nGet:3 http://archive.ubuntu.com/ubuntu jammy/universe amd64 libqt5multimedia5 amd64 5.15.3-1 [320 kB]\nGet:4 http://archive.ubuntu.com/ubuntu jammy/universe amd64 libqt5multimediawidgets5 amd64 5.15.3-1 [42,6 kB]\nGet:5 http://archive.ubuntu.com/ubuntu jammy/universe amd64 libqt5multimediagsttools5 amd64 5.15.3-1 [112 kB]\nGet:6 http://archive.ubuntu.com/ubuntu jammy/universe amd64 libqt5multimedia5-plugins amd64 5.15.3-1 [178 kB]\nGet:7 http://archive.ubuntu.com/ubuntu jammy-updates/universe amd64 libqt5printsupport5 amd64 5.15.3+dfsg-2ubuntu0.2 [214 kB]\nGet:8 http://archive.ubuntu.com/ubuntu jammy/universe amd64 libsmi2ldbl amd64 0.4.8+dfsg2-16 [100 kB]\nGet:9 http://archive.ubuntu.com/ubuntu jammy/universe amd64 libwireshark-data all 3.6.2-2 [1.647 kB]\nGet:10 http://archive.ubuntu.com/ubuntu jammy/universe amd64 libwsutil13 amd64 3.6.2-2 [99,2 kB]\nGet:11 http://archive.ubuntu.com/ubuntu jammy/universe amd64 libwiretap12 amd64 3.6.2-2 [255 kB]\nGet:12 http://archive.ubuntu.com/ubuntu jammy/universe amd64 libwireshark15 amd64 3.6.2-2 [19,5 MB]\nGet:13 http://archive.ubuntu.com/ubuntu jammy/universe amd64 wireshark-common amd64 3.6.2-2 [473 kB]\nGet:14 http://archive.ubuntu.com/ubuntu jammy/universe amd64 wireshark-qt amd64 3.6.2-2 [4.269 kB]\nGet:15 http://archive.ubuntu.com/ubuntu jammy/universe amd64 wireshark amd64 3.6.2-2 [4.992 B]\nFetched 27,3 MB in 2s (13,0 MB/s)      \nPreconfiguring packages ...\nSelecting previously unselected package libbcg729-0:amd64.\n(Reading database ... 560791 files and directories currently installed.)\nPreparing to unpack .../00-libbcg729-0_1.1.1-2_amd64.deb ...\nUnpacking libbcg729-0:amd64 (1.1.1-2) ...\nSelecting previously unselected package libminizip1:amd64.\nPreparing to unpack .../01-libminizip1_1.1-8build1_amd64.deb ...\nUnpacking libminizip1:amd64 (1.1-8build1) ...\nSelecting previously unselected package libqt5multimedia5:amd64.\nPreparing to unpack .../02-libqt5multimedia5_5.15.3-1_amd64.deb ...\nUnpacking libqt5multimedia5:amd64 (5.15.3-1) ...\nSelecting previously unselected package libqt5multimediawidgets5:amd64.\nPreparing to unpack .../03-libqt5multimediawidgets5_5.15.3-1_amd64.deb ...\nUnpacking libqt5multimediawidgets5:amd64 (5.15.3-1) ...\nSelecting previously unselected package libqt5multimediagsttools5:amd64.\nPreparing to unpack .../04-libqt5multimediagsttools5_5.15.3-1_amd64.deb ...\nUnpacking libqt5multimediagsttools5:amd64 (5.15.3-1) ...\nSelecting previously unselected package libqt5multimedia5-plugins:amd64.\nPreparing to unpack .../05-libqt5multimedia5-plugins_5.15.3-1_amd64.deb ...\nUnpacking libqt5multimedia5-plugins:amd64 (5.15.3-1) ...\nSelecting previously unselected package libqt5printsupport5:amd64.\nPreparing to unpack .../06-libqt5printsupport5_5.15.3+dfsg-2ubuntu0.2_amd64.deb ...\nUnpacking libqt5printsupport5:amd64 (5.15.3+dfsg-2ubuntu0.2) ...\nSelecting previously unselected package libsmi2ldbl:amd64.\nPreparing to unpack .../07-libsmi2ldbl_0.4.8+dfsg2-16_amd64.deb ...\nUnpacking libsmi2ldbl:amd64 (0.4.8+dfsg2-16) ...\nSelecting previously unselected package libwireshark-data.\nPreparing to unpack .../08-libwireshark-data_3.6.2-2_all.deb ...\nUnpacking libwireshark-data (3.6.2-2) ...\nSelecting previously unselected package libwsutil13:amd64.\nPreparing to unpack .../09-libwsutil13_3.6.2-2_amd64.deb ...\nUnpacking libwsutil13:amd64 (3.6.2-2) ...\nSelecting previously unselected package libwiretap12:amd64.\nPreparing to unpack .../10-libwiretap12_3.6.2-2_amd64.deb ...\nUnpacking libwiretap12:amd64 (3.6.2-2) ...\nSelecting previously unselected package libwireshark15:amd64.\nPreparing to unpack .../11-libwireshark15_3.6.2-2_amd64.deb ...\nUnpacking libwireshark15:amd64 (3.6.2-2) ...\nSelecting previously unselected package wireshark-common.\nPreparing to unpack .../12-wireshark-common_3.6.2-2_amd64.deb ...\nUnpacking wireshark-common (3.6.2-2) ...\nSelecting previously unselected package wireshark-qt.\nPreparing to unpack .../13-wireshark-qt_3.6.2-2_amd64.deb ...\nUnpacking wireshark-qt (3.6.2-2) ...\nSelecting previously unselected package wireshark.\nPreparing to unpack .../14-wireshark_3.6.2-2_amd64.deb ...\nUnpacking wireshark (3.6.2-2) ...\nSetting up libbcg729-0:amd64 (1.1.1-2) ...\nSetting up libminizip1:amd64 (1.1-8build1) ...\nSetting up libqt5multimedia5:amd64 (5.15.3-1) ...\nSetting up libqt5printsupport5:amd64 (5.15.3+dfsg-2ubuntu0.2) ...\nSetting up libsmi2ldbl:amd64 (0.4.8+dfsg2-16) ...\nSetting up libwsutil13:amd64 (3.6.2-2) ...\nSetting up libwiretap12:amd64 (3.6.2-2) ...\nSetting up libqt5multimediawidgets5:amd64 (5.15.3-1) ...\nSetting up libwireshark-data (3.6.2-2) ...\nSetting up libqt5multimediagsttools5:amd64 (5.15.3-1) ...\nSetting up libqt5multimedia5-plugins:amd64 (5.15.3-1) ...\nSetting up libwireshark15:amd64 (3.6.2-2) ...\nSetting up wireshark-common (3.6.2-2) ...\nSetting up wireshark-qt (3.6.2-2) ...\nSetting up wireshark (3.6.2-2) ...\nProcessing triggers for libc-bin (2.35-0ubuntu3.1) ...\nProcessing triggers for man-db (2.10.2-1) ...\nProcessing triggers for shared-mime-info (2.1-2) ...\nProcessing triggers for mailcap (3.70+nmu1ubuntu1) ...\nProcessing triggers for desktop-file-utils (0.26+mint3+victoria) ...\nProcessing triggers for hicolor-icon-theme (0.17-2) ...\nProcessing triggers for gnome-menus (3.36.0-1ubuntu3) ...\nguru@lab:~$  \n
"},{"location":"howtos/install-wireshark-linux-mint21/#fix-stuff","title":"Fix stuff","text":"step1step2 (guru@lab:~$_)step3 (output)step4

When you start Wireshark, no interfaces are listed (bug?)

Let's add the user \"guru\" to the existing group \"wireshark\".

sudo usermod -a -G wireshark guru\n
guru@lab:~$ sudo usermod -a -G wireshark guru\n[sudo] password for guru:     \nguru@lab:~$\n

Log off and log in. Start Wireshark. The network card(s) should be listed now.

"},{"location":"howtos/install-wireshark-windows11/","title":"Install Wireshark on Windows 11","text":"
  • todo
"},{"location":"howtos/install-xmind-linux-mint/","title":"Install Xmind 8 on Linux Mint 21","text":""},{"location":"howtos/install-xmind-linux-mint/#prereqs","title":"Prereqs","text":"
  • a PC (BIOS/UEFI) running Linux Mint 21
  • internet connection
"},{"location":"howtos/install-xmind-linux-mint/#download","title":"Download","text":"guru@hp:~$_output
# directory Downloads/XMind will be created\nwget https://www.xmind.net/xmind/downloads/xmind-8-update9-linux.zip -P Downloads/Xmind/\n
guru@hp:~$ wget https://www.xmind.net/xmind/downloads/xmind-8-update9-linux.zip -P Downloads/Xmind/\n--2022-05-13 14:09:16--  https://www.xmind.net/xmind/downloads/xmind-8-update9-linux.zip\nResolving www.xmind.net (www.xmind.net)... 3.232.41.189, 44.194.150.33\nConnecting to www.xmind.net (www.xmind.net)|3.232.41.189|:443... connected.\nHTTP request sent, awaiting response... 302 Found\nLocation: https://dl3.xmind.net/xmind-8-update9-linux.zip [following]\n--2022-05-13 14:09:16--  https://dl3.xmind.net/xmind-8-update9-linux.zip\nResolving dl3.xmind.net (dl3.xmind.net)... 13.227.219.86, 13.227.219.108, 13.227.219.84, ...\nConnecting to dl3.xmind.net (dl3.xmind.net)|13.227.219.86|:443... connected.\nHTTP request sent, awaiting response... 200 OK\nLength: 120292589 (115M) [application/zip]\nSaving to: \u2018Downloads/Xmind/xmind-8-update9-linux.zip\u2019\n\nxmind-8-update9-linux.zip                                   100%[=========================================================================================================================================>] 114.72M  14.5MB/s    in 11s     \n\n2022-05-13 14:09:28 (9.98 MB/s) - \u2018Downloads/Xmind/xmind-8-update9-linux.zip\u2019 saved [120292589/120292589]\n\nguru@hp:~$\n
"},{"location":"howtos/install-xmind-linux-mint/#unzip-and-remove-zip-file","title":"Unzip and remove zip file","text":"guru@hp:~$_output
unzip Downloads/Xmind/xmind-8-update9-linux.zip -d Downloads/Xmind/ > /dev/null 2>&1\nrm Downloads/Xmind/xmind-8-update9-linux.zip\n
guru@hp:~$ unzip Downloads/Xmind/xmind-8-update9-linux.zip -d Downloads/Xmind/ > /dev/null 2>&1\nguru@hp:~$ rm Downloads/Xmind/xmind-8-update9-linux.zip\nguru@hp:~$\n
"},{"location":"howtos/install-xmind-linux-mint/#check-and-adjust-requirements","title":"Check and adjust requirements","text":"Step1Step2Step3Step4

List the contents of the installation directory. Notice \"setup.sh\".

guru@hp:~$ ls -lh Downloads/Xmind/\ntotal 676K\n-rw-r--r--  1 guru guru 403K Dec  9  2019 artifacts.xml\ndrwxr-xr-x  2 guru guru 4.0K Dec  9  2019 configuration\n-rw-r--r--  1 guru guru  17K Mar 15  2017 epl-v10.html\ndrwxr-xr-x 25 guru guru 4.0K Dec  9  2019 features\ndrwxr-xr-x  2 guru guru 4.0K Mar 15  2017 fonts\n-rw-r--r--  1 guru guru 8.3K Mar 15  2017 lgpl-3.0.html\ndrwxr-xr-x 21 guru guru 168K Dec  9  2019 plugins\n-rw-r--r--  1 guru guru  38K Dec  9  2019 readme.txt\n-rwxr-xr-x  1 guru guru  546 Jul  2  2018 setup.sh\ndrwxr-xr-x  4 guru guru 4.0K Dec  9  2019 XMind_amd64\ndrwxr-xr-x  4 guru guru 4.0K Dec  9  2019 XMind_i386\n-rw-r--r--  1 guru guru 3.2K Jul 23  2018 xpla.txt\nguru@hp:~$\n

Check the contents of that file. Notice the required packages.

guru@hp:~$ cat Downloads/Xmind/setup.sh\n#!/bin/bash\n\nset -e\n\nSCRIPT_NAME=\"$0\"\nSCRIPT_DIR=\"$(cd \"$(dirname \"$SCRIPT_NAME\")\" && pwd)\"\n\necho \"[setup] Installing dependencies....\"\napt-get install openjdk-8-jre libgtk2.0-0 libwebkitgtk-1.0-0 lame libc6 libglib2.0-0\n\nFONTS_DIR=\"$SCRIPT_DIR/fonts\"\nif [ -d \"$FONTS_DIR\" ]; then\n    echo \"[setup] Installing custom fonts....\"\n    mkdir -p /usr/share/fonts/truetype/xmind\n    rsync -av \"$FONTS_DIR/\" /usr/share/fonts/truetype/xmind/\n    fc-cache -f\nelse\n    echo \"[setup] WARNING: Custom fonts for XMind are not found.\"\nfi\n\necho \"[setup] Done.\"\nguru@hp:~$\n

Notice that package \"libwebkitgtk-1.0-0\" is not available in the repository. There is a package \"libwebkit2gtk-4.0-37\" already installed though...

guru@hp:~$ apt-cache policy openjdk-8-jre libgtk2.0-0 libwebkitgtk-1.0-0 lame libc6 libglib2.0-0 | grep \"Candidate\"\n  Candidate: 8u312-b07-0ubuntu1~20.04\n  Candidate: 2.24.32-4ubuntu4\n  Candidate: (none)\n  Candidate: 3.100-3\n  Candidate: 2.31-0ubuntu9.9\n  Candidate: 2.64.6-1~ubuntu20.04.4\n\nguru@hp:~$ dpkg -l | grep libwebkit\nii  libwebkit2gtk-4.0-37:amd64                 2.34.6-0ubuntu0.20.04.1             amd64        Web content engine library for GTK\nguru@hp:~$ \n

And notice that packages \"libgtk2.0-0\", \"libc6\" and \"libglib2.0-0\" are already installed.

guru@hp:~$ apt-cache policy openjdk-8-jre libgtk2.0-0 libwebkitgtk-1.0-0 lame libc6 libglib2.0-0 | grep \"Installed\"\n  Installed: (none)\n  Installed: 2.24.32-4ubuntu4\n  Installed: (none)\n  Installed: (none)\n  Installed: 2.31-0ubuntu9.7\n  Installed: 2.64.6-1~ubuntu20.04.4\nguru@hp:~$ \n
"},{"location":"howtos/install-xmind-linux-mint/#adjust-setupsh","title":"Adjust setup.sh","text":"guru@hp:~$_/home/guru/Downloads/Xmind/setup.sh

I don't know why I would need \"lame\". So we only need 1 package. This sed-oneliner makes the adjustment.

sed -i '/apt-get/c\\apt-get install openjdk-8-jre' Downloads/Xmind/setup.sh\n
#!/bin/bash\n\nset -e\n\nSCRIPT_NAME=\"$0\"\nSCRIPT_DIR=\"$(cd \"$(dirname \"$SCRIPT_NAME\")\" && pwd)\"\n\necho \"[setup] Installing dependencies....\"\napt-get install openjdk-8-jre\n\nFONTS_DIR=\"$SCRIPT_DIR/fonts\"\nif [ -d \"$FONTS_DIR\" ]; then\n    echo \"[setup] Installing custom fonts....\"\n    mkdir -p /usr/share/fonts/truetype/xmind\n    rsync -av \"$FONTS_DIR/\" /usr/share/fonts/truetype/xmind/\n    fc-cache -f\nelse\n    echo \"[setup] WARNING: Custom fonts for XMind are not found.\"\nfi\n\necho \"[setup] Done.\"\n
"},{"location":"howtos/install-xmind-linux-mint/#execute-setupsh","title":"Execute setup.sh","text":"guru@hp:~$_output
sudo Downloads/Xmind/setup.sh\n
guru@hp:~$ sudo Downloads/Xmind/setup.sh\n[sudo] password for guru:     \n[setup] Installing dependencies....\nReading package lists... Done\nBuilding dependency tree... Done\nReading state information... Done\nThe following additional packages will be installed:\nfonts-dejavu-extra libatk-wrapper-java libatk-wrapper-java-jni openjdk-8-jre-headless\nSuggested packages:\nfonts-ipafont-gothic fonts-ipafont-mincho fonts-wqy-microhei fonts-wqy-zenhei\nThe following NEW packages will be installed:\nfonts-dejavu-extra libatk-wrapper-java libatk-wrapper-java-jni openjdk-8-jre openjdk-8-jre-headless\n0 upgraded, 5 newly installed, 0 to remove and 0 not upgraded.\nNeed to get 33,0 MB of archives.\nAfter this operation, 112 MB of additional disk space will be used.\nDo you want to continue? [Y/n] y\n...\n
"},{"location":"howtos/install-xmind-linux-mint/#find-out-the-path-for-java-8","title":"Find out the path for java-8","text":"guru@hp:~$_output
update-alternatives --display java\n
guru@hp:~$ update-alternatives --display java\njava - auto mode\n  link best version is /usr/lib/jvm/java-11-openjdk-amd64/bin/java\n  link currently points to /usr/lib/jvm/java-11-openjdk-amd64/bin/java\n  link java is /usr/bin/java\n  slave java.1.gz is /usr/share/man/man1/java.1.gz\n/usr/lib/jvm/java-11-openjdk-amd64/bin/java - priority 1111\n  slave java.1.gz: /usr/lib/jvm/java-11-openjdk-amd64/man/man1/java.1.gz\n/usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java - priority 1081\n  slave java.1.gz: /usr/lib/jvm/java-8-openjdk-amd64/jre/man/man1/java.1.gz\n
"},{"location":"howtos/install-xmind-linux-mint/#adjust-xmindini","title":"Adjust xmind.ini","text":"guru@hp:~$_/home/guru/Downloads/Xmind/XMind_amd64/XMind.ini

This sed-onliner adds 2 lines at the beginning of the file. Xmind 8 needs the older java runtime.

sudo sed -i '1i -vm\\n/usr/lib/jvm/java-8-openjdk-amd64/jre/bin' Downloads/Xmind/XMind_amd64/XMind.ini\n
-vm\n/usr/lib/jvm/java-8-openjdk-amd64/jre/bin\n-configuration\n./configuration\n-data\n../workspace\n-startup\n../plugins/org.eclipse.equinox.launcher_1.3.200.v20160318-1642.jar\n--launcher.library\n../plugins/org.eclipse.equinox.launcher.gtk.linux.x86_64_1.1.400.v20160518-1444\n--launcher.defaultAction\nopenFile\n--launcher.GTK_version\n2\n-eclipse.keyring\n@user.home/.xmind/secure_storage_linux\n-vmargs\n-Dfile.encoding=UTF-8\n
"},{"location":"howtos/install-xmind-linux-mint/#start-xmind-the-right-way","title":"Start Xmind the right way","text":"Step1Step2

Starting Xmind like this, won't work.

This will.

"},{"location":"howtos/linuxmint21-bootable-usb-flash-drive/","title":"Create a Linux Mint 21 bootable USB flash drive","text":""},{"location":"howtos/linuxmint21-bootable-usb-flash-drive/#prereqs","title":"Prereqs","text":"
  • USB flash drive that can hold the Linux Mint 21 installation files
  • a PC (BIOS/UEFI) running Windows 11 or Linux Mint 21
  • internet connection
"},{"location":"howtos/linuxmint21-bootable-usb-flash-drive/#download-iso","title":"Download ISO","text":"Step1Step2Step3

Use your favorite search engine to search for the Linux Mint 21 iso and choose the official Linux Mint website. (VDAB users: download from your Google Drive!)

Select the \"Cinnamon Edition\".

Choose your favorite download mirror. The ISO file will be saved to your local disk.

"},{"location":"howtos/linuxmint21-bootable-usb-flash-drive/#on-windows-11","title":"On Windows 11","text":""},{"location":"howtos/linuxmint21-bootable-usb-flash-drive/#with-rufus","title":"With Rufus","text":""},{"location":"howtos/linuxmint21-bootable-usb-flash-drive/#download-and-install-rufus","title":"Download and install Rufus","text":"Step1Step2Step3Step4Step5

Use your favorite search engine to search for Rufus and choose the official website.

Click the current \"standard\" installer version. The file will be saved to your local disk.

Execute the installer and allow for changes.

Allow Rufus to check for updates.

Done. Installation finished.

"},{"location":"howtos/linuxmint21-bootable-usb-flash-drive/#for-bios-or-uefi-csm","title":"For BIOS (or UEFI-CSM)","text":"Step1Step2Step3Step4Step5Step6
  1. Insert the USB flash drive
  2. Navigate to and select the Linux Mint 21 ISO file
  3. Choose \"MBR\" as partition scheme
  4. Select \"BIOS or UEFI\" as target system
  5. Select \"Large FAT32 (Default)\" as file system
  6. Click \"Start\"

Select \"Write in ISO Image mode (Recommended).

Let Rufus download the latest syslinux files (if asked).

Click \"OK\" to confirm the USB\u2019s deletion and the bootable drive\u2019s creation.

Time to grab a coffee. Wait until the status is \"Ready\".

Close Rufus and eject the USB media.

"},{"location":"howtos/linuxmint21-bootable-usb-flash-drive/#for-uefi-non-csm","title":"For UEFI (non-CSM)","text":"Step1Step2Step3Step4Step5Step6
  1. Insert a USB flash drive with enough space
  2. Navigate to and select the Linux Mint 21 ISO file
  3. Choose \"GPT\" as partition scheme
  4. Select \"UEFI (non-CSM)\" as target system
  5. Select \"NTFS\" as file system
  6. Click \"Start\"

Select \"Write in ISO Image mode (Recommended)\".

If asked, let Rufus download the latest syslinux files. Otherwise, skip this step.

Click \"OK\" to confirm the USB\u2019s deletion and the bootable drive\u2019s creation.

Time to grab a coffee. Wait until the status is \"Ready\".

Close Rufus and eject the USB media.

"},{"location":"howtos/linuxmint21-bootable-usb-flash-drive/#with-etcher","title":"With Etcher","text":"

Todo...

"},{"location":"howtos/linuxmint21-bootable-usb-flash-drive/#on-linux-mint-21","title":"On Linux Mint 21","text":"

Todo...

"},{"location":"howtos/password-recovery-cisco1941/","title":"Password recovery on a Cisco 1941 router","text":""},{"location":"howtos/password-recovery-cisco1941/#prereqs","title":"Prereqs","text":"
  • a PC (BIOS/UEFI) running Linux Mint 21
    • minicom terminal emulation software
  • a serial console cable
  • a Cisco 1941 router
    • a working IOS, but inaccessible (forgotten console and/or enable password)
"},{"location":"howtos/password-recovery-cisco1941/#setup","title":"Setup","text":""},{"location":"howtos/password-recovery-cisco1941/#situation","title":"Situation","text":"

The \"console password\" and \"enable password\" (Privileged EXEC mode) are - amongst other router configuration settings - stored in startup-config (NVRAM). Recovery of a lost password is only useful if you have a inacessible (but working) IOS. If not, you have a bigger problem and have to (re)install an IOS operating system first.

Problem1Problem2

No access to the console.

...\nUser Access Verification\n\nPassword:           <--- enter wrong password\nPassword:           <--- enter wrong password\nPassword:           <--- enter wrong password\n% Bad passwords\n

Access to the console, but no access to privileged exec mode.

Router>enable\nPassword:           <--- enter wrong password\nPassword:           <--- enter wrong password\nPassword:           <--- enter wrong password\n% Bad secrets\n\nRouter>\n
"},{"location":"howtos/password-recovery-cisco1941/#rommon","title":"ROMMON","text":"

Boot the router in ROMMON-mode using the break sequence mechanism. To my knowledge, there is no \"password recovery mechanism\" like on a Cisco 2960 switch.

Step1Step2Step3Step4aStep4bStep5Step6

The configuration register is typically set to 0x2102. Let's change it to 0x2142. This will bypass the startup-configuration file.

rommon 1 > confreg 0x2142 \n\nYou must reset or power cycle for new config to take effect\nrommon 2 > \n

Reload the router.

rommon 3 > reset\n\nSystem Bootstrap, Version 15.0(1r)M16, RELEASE SOFTWARE (fc1)\n...\n

You are greeted with the initial configuration dialog. Answer \"no\" and press Enter. Go to privileged exec mode.

--- System Configuration Dialog ---\n\nWould you like to enter the initial configuration dialog? [yes/no]: no\n\nPress RETURN to get started!\n...\n...\nRouter>enable\nRouter#\n

Optional: if you do not want to keep the startup-configuration, delete it now. Else, skip this step.

Router#erase startup-config \nErasing the nvram filesystem will remove all configuration files! Continue? [confirm]\n[OK]\nErase of nvram: complete\nRouter#\n

Optional: if you do want to keep the startup-configuration, copy it to memory. Else, skip this step.

Router#copy startup-config running-config\nDestination filename [running-config]? \n1170 bytes copied in 0.132 secs (8864 bytes/sec)\n\nRouter#\n

Configure the new privileged exec mode and console passwords. Change the configuration register back to 0x2102. Save the running-configuration and reload.

Router#conf t\nRouter(config)#enable secret cisco-EN-pass\n\nRouter(config)#line console 0\nRouter(config-line)#password cisco-CON-pass\nRouter(config-line)#login\nRouter(config-line)#exit\n\nRouter(config)#config-register 0x2102\nRouter(config)#end\n\nRouter#copy running-config startup-config\nDestination filename [startup-config]? \nBuilding configuration...\n[OK]\n\nRouter#reload\nProceed with reload? [confirm]\n\n*Apr  4 12:22:50.391: %SYS-5-RELOAD: Reload requested by console. Reload Reason: Reload Command.\n

Login using the new console password. Enter privileged exec mode using the new \"enable\" password.

User Access Verification\n\nPassword:                                               ---> enter \"cisco-CON-pass\"\n\nRouter>\n\nRouter>enable\nPassword:                                               ---> enter \"cisco-EN-pass\"\nRouter#\n
"},{"location":"howtos/password-recovery-cisco2960/","title":"Password recovery on a Cisco 2960 switch","text":""},{"location":"howtos/password-recovery-cisco2960/#prereqs","title":"Prereqs","text":"
  • a PC (BIOS/UEFI) running Linux Mint 21
    • minicom terminal emulation software
  • a serial console cable
  • a Cisco 2960 24TT-L or 24TC-L Plus switch
    • a working IOS, but inaccessible (forgotten console and/or enable password)
"},{"location":"howtos/password-recovery-cisco2960/#setup","title":"Setup","text":""},{"location":"howtos/password-recovery-cisco2960/#situation","title":"Situation","text":"

The \"console password\" and \"enable password\" (Privileged EXEC mode) are - amongst other switch configuration settings - stored in startup-config (NVRAM). Recovery of a lost password is only useful if you have a inacessible (but working) IOS. If not, you have a bigger problem and have to (re)install an IOS operating system first.

Problem1Problem2

No access to the console.

...\nUser Access Verification\n\nPassword:           <--- enter wrong password\nPassword:           <--- enter wrong password\nPassword:           <--- enter wrong password\n% Bad passwords\n

Access to the console, but no access to privileged exec mode.

Switch>enable\nPassword:           <--- enter wrong password\nPassword:           <--- enter wrong password\nPassword:           <--- enter wrong password\n% Bad secrets\n\nSwitch>\n
"},{"location":"howtos/password-recovery-cisco2960/#rommon","title":"ROMMON","text":"

Boot the switch in ROMMON-mode using a cold start. If the password recovery mechanism is enabled, it is possible to either keep the startup configuration file or choose to discard it. If the password recovery mechanism is disabled, you are forced to discard all device configuration.

"},{"location":"howtos/password-recovery-cisco2960/#password-recovery-mechanism-enabled","title":"Password recovery mechanism enabled","text":"Step1Step2Step3Step4

List the files stored in flash. The startup configuration file in this mode is named \"config.text\".

switch: dir flash:\nDirectory of flash:/\n\n    2  -rwx  15979776  <date>               c2960-lanbasek9-mz.150-2.SE11.bin\n    3  drwx  128       <date>               pnp-tech\n    4  drwx  0         <date>               pnp-info\n    5  -rwx  1781      <date>               config.text\n    8  -rwx  1921      <date>               private-config.text\n    9  -rwx  3096      <date>               multiple-fs\n\n49462784 bytes available (16081408 bytes used)\n\nswitch: \n

Optional: should you choose to keep the startup configuration file, temporary rename that file. If not, skip this step.

switch: rename flash:config.text flash:config.text.bak\nswitch:\n

Optional: should you choose to discard the startup configuration file, delete that file. If not, skip this step.

switch: delete flash:config.text\nswitch:\n

Boot the switch manually.

switch: boot\nLoading \"flash:c2960-lanbasek9-mz.150-2.SE11.bin\"...@@@@@@@@@@@@@@@@@\n...\n
"},{"location":"howtos/password-recovery-cisco2960/#password-recovery-mechanism-disabled","title":"Password recovery mechanism disabled","text":"

If the password recovery mechanism is disabled, it was not possible to keep the startup configuration file and you had to reset the system back to the default configuration.

Step1Step2

List the files stored in flash. The startup configuration file is absent!

switch: dir flash:\nDirectory of flash:/\n\n    2  -rwx  15979776  <date>               c2960-lanbasek9-mz.150-2.SE11.bin\n    3  drwx  128       <date>               pnp-tech\n    4  drwx  0         <date>               pnp-info\n    8  -rwx  5         <date>               private-config.text\n    9  -rwx  3096      <date>               multiple-fs\n\n49415168 bytes available (16129024 bytes used)\n\nswitch: \n

Boot the switch manually.

switch: boot\nLoading \"flash:c2960-lanbasek9-mz.150-2.SE11.bin\"...@@@@@@@@@@@@@@@@@\n...\n
"},{"location":"howtos/password-recovery-cisco2960/#ios","title":"IOS","text":"Step1Step2Step3Step4Step5

At this point, there is no startup configuration file (only a backup startup configuration file, if chosen). Enter \"no\" at the initial configuration setup prompt and change to privileged exec mode.

        --- System Configuration Dialog ---\n\nWould you like to enter the initial configuration dialog? [yes/no]:     -----> enter \"no\"\nSwitch>enable\nSwitch#\n

If you have a backup startup configuration file and want to restore it, copy the contents of the backup startup configuration file to the running configuration and delete that backup file. If not, skip this step.

Switch#copy flash:config.text.bak running-config\nDestination filename [running-config]?                  ---> ENTER\n% Login disabled on line 1, until 'password' is set\n% Login disabled on line 2, until 'password' is set\n% Login disabled on line 3, until 'password' is set\n% Login disabled on line 4, until 'password' is set\n% Login disabled on line 5, until 'password' is set\n% Login disabled on line 6, until 'password' is set\n% Login disabled on line 7, until 'password' is set\n% Login disabled on line 8, until 'password' is set\n% Login disabled on line 9, until 'password' is set\n% Login disabled on line 10, until 'password' is set\n% Login disabled on line 11, until 'password' is set\n% Login disabled on line 12, until 'password' is set\n% Login disabled on line 13, until 'password' is set\n% Login disabled on line 14, until 'password' is set\n% Login disabled on line 15, until 'password' is set\n% Login disabled on line 16, until 'password' is set\n1781 bytes copied in 0.964 secs (1848 bytes/sec)\n\nSwitch#delete flash:config.text.bak\nDelete filename [config.text.bak]?                      ---> ENTER\nDelete flash:/config.text.bak? [confirm]                ---> ENTER\nSwitch#\n

Set the necessary password(s) and obscure the console clear-text password.

Switch#configure terminal \nEnter configuration commands, one per line.  End with CNTL/Z.\nSwitch(config)#enable secret cisco-EN-pass\nSwitch(config)#line console 0\nSwitch(config-line)#password cisco-CON-pass\nSwitch(config-line)#login\nSwitch(config-line)#exit\nSwitch(config)#service password-encryption \nSwitch(config)#end\nSwitch#\n

Copy the running configuration to the startup configuration. Restart the switch.

Switch#copy running-configuration startup-configuration         \nBuilding configuration...\n[OK]\n\nSwitch#reload\nProceed with reload? [confirm]                          ---> ENTER\n\n*Mar  1 00:15:53.633: %SYS-5-RELOAD: Reload requested by console. Reload Reason: Reload command.\n...\n

Login using the new console password. Enter privileged exec mode using the new \"enable\" password.

User Access Verification\n\nPassword:                                               ---> enter \"cisco-CON-pass\"\n\nSwitch>\n\nSwitch>enable\nPassword:                                               ---> enter \"cisco-EN-pass\"\nSwitch#\n
"},{"location":"howtos/reinstall-ios-cisco1941/","title":"(Re)install an IOS operating system on a Cisco 1941 router","text":""},{"location":"howtos/reinstall-ios-cisco1941/#prereqs","title":"Prereqs","text":"
  • a PC (BIOS/UEFI) running Linux Mint 21
    • minicom terminal emulation software
    • (a tFTP service)
  • a console cable
  • (a network cable)
  • a Cisco 1941 router
"},{"location":"howtos/reinstall-ios-cisco1941/#situation","title":"Situation","text":"

At the time of writing, the latest IOS for a Cisco 1941 router is c1900-universalk9-mz.SPA.157-3.M8.bin I'll use that version for the examples.

"},{"location":"howtos/reinstall-ios-cisco1941/#ios-transfer-over-serial-xmodem","title":"IOS transfer over serial (xmodem)","text":""},{"location":"howtos/reinstall-ios-cisco1941/#from-ios","title":"From IOS","text":"Step1Step2Step3Step4Step5Step6Step7Step8

Verify that there is enough space left on the Flash filesystem to add an (additional) IOS. In this example, I will simulate a missing IOS by deleting it. Do not reload!

Router#dir flash:\nDirectory of flash0:/\n\n    1  -rw-    85053068  Nov 30 1983 00:00:00 +00:00  c1900-universalk9-mz.SPA.157-3.M8.bin\n    2  -rw-          34   Apr 4 2022 10:30:50 +00:00  pnp-tech-time\n    3  -rw-      138509   Apr 4 2022 10:31:02 +00:00  pnp-tech-discovery-summary\n\n256610304 bytes total (171413504 bytes free)\nRouter#\nRouter#delete flash:/c1900-universalk9-mz.SPA.157-3.M8.bin\nDelete filename [c1900-universalk9-mz.SPA.157-3.M8.bin]? \nDelete flash0:/c1900-universalk9-mz.SPA.157-3.M8.bin? [confirm]\nRouter#\n

Set the baud rate to 115200 to speed up the transfer. You will lose the connection after the last command. Some gibberish characters can emerge.

Router#conf t\nEnter configuration commands, one per line.  End with CNTL/Z.\nRouter(config)#line console 0\nRouter(config-line)#speed 115200\nC\ufffd\n

Adjust the settings in your terminal emulation program to match the new baud rate. For minicom, press Ctrl+A and then Z. Type O and choose \"Serial port setup\". Change setting E and Enter twice. Exit.

Router#conf t                                                                                                    \nEnter configuration commands, one per line.  End with CNTL/Z.                                                    \nRout+-----------------+---------[Comm Parameters]----------+----------------+                                    \nRout| A -    Serial De|                                    |                |                                    \nC\ufffd  | B - Lockfile Loc|     Current:  9600 8N1             |                |                                    \n    | C -   Callin Pro| Speed            Parity      Data  |                |                                    \n    | D -  Callout Pro| A: <next>        L: None     S: 5  |                |                                    \n    | E -    Bps/Par/B| B: <prev>        M: Even     T: 6  |                |                                    \n    | F - Hardware Flo| C:   9600        N: Odd      U: 7  |                |                                    \n    | G - Software Flo| D:  38400        O: Mark     V: 8  |                |                                    \n    | H -     RS485 En| E: 115200        P: Space          |                |                                    \n    | I -   RS485 Rts |                                    |                |                                    \n    | J -  RS485 Rts A| Stopbits                           |                |                                    \n    | K -  RS485 Rx Du| W: 1             Q: 8-N-1          |                |                                    \n    | L -  RS485 Termi| X: 2             R: 7-E-1          |                |                                    \n    | M - RS485 Delay |                                    |                |                                    \n    | N - RS485 Delay |                                    |                |                                    \n    |                 | Choice, or <Enter> to exit?        |                |                                    \n    |    Change which +------------------------------------+                |                                    \n    +-----------------------------------------------------------------------+\n

Press Enter The connection is back. Initiate an xMODEM transfer. Confirm the destination filename. The switch will then prompt you to start the transfer from your terminal emulator.

    Switch(config-line)#end\n    Switch#copy xmodem: flash:c2960-lanbasek9-mz.150-2.SE11.bin\n    Destination filename [c2960-lanbasek9-mz.150-2.SE11.bin]?     <----- press ENTER\n    Begin the Xmodem or Xmodem-1K transfer now...\n    CCC\n

For minicom, press Ctrl+A and then Z. Type S (Send files) and select \"xmodem\". Navigate your way to the new IOS file (here /srv/tftp). Press Space to tag the file and enter \"Okay\" to send.

Grab a coffee. This can take a long time depending on the size of the IOS image. Wait for the transfer to complete and then press Enter to quit.

There is nu such thing as \"boot system flash:/...\" like with a Cisco 2960 switch. Just reload the router and it will find the IOS on flash.

\n

You have to adjust the settings in your terminal emulation program again, to match the default baud of 9600. Verify that the correct IOS image is loaded. Enjoy your new IOS!

Switch#show version\nCisco IOS Software, C2960 Software (C2960-LANBASEK9-M), Version 15.0(2)SE11, RELEASE SOFTWARE (fc3)\n...\n...\nSystem returned to ROM by power-on\nSystem image file is \"flash:/c2960-lanbasek9-mz.150-2.SE11.bin\"\n...\n...\n\nSwitch Ports Model              SW Version            SW Image                 \n------ ----- -----              ----------            ----------               \n*    1 26    WS-C2960+24TC-L    15.0(2)SE11           C2960-LANBASEK9-M        \n\nConfiguration register is 0xF\n\nSwitch#\n
"},{"location":"howtos/reinstall-ios-cisco1941/#from-rommon","title":"From ROMMON","text":"

Unlike with a Cisco 2960 switch, to my knowledge, it is not possible to use xmodem from the router in ROMMON-mode.

"},{"location":"howtos/reinstall-ios-cisco1941/#ios-transfer-over-network-protocol","title":"IOS transfer over network protocol","text":"

Unlike with a Cisco 2960 switch, transfer using a network protocol is possible from IOS and from ROMMON-mode.

"},{"location":"howtos/reinstall-ios-cisco1941/#from-ios_1","title":"From IOS","text":""},{"location":"howtos/reinstall-ios-cisco1941/#tftp","title":"tFTP","text":"Step1Step2Step3Step4Step5Step6Step7Step8

Verify that there is enough space left on the Flash filesystem to add an (additional) IOS. In this example, I will simulate a missing IOS by deleting it.

Router#dir flash:\nDirectory of flash0:/\n\n    1  -rw-    85053068  Jun 21 2024 06:40:02 +00:00  c1900-universalk9-mz.SPA.157-3.M8.bin\n    2  -rw-          35  Jul 10 2024 11:36:02 +00:00  pnp-tech-time\n    3  -rw-        3883  Jul 10 2024 11:36:06 +00:00  pnp-tech-discovery-summary\n\n261189632 bytes total (176128000 bytes free)\n\nRouter#delete flash:/c1900-universalk9-mz.SPA.157-3.M8.bin\nDelete filename [c1900-universalk9-mz.SPA.157-3.M8.bin]? \nDelete flash0:/c1900-universalk9-mz.SPA.157-3.M8.bin? [confirm]\nRouter#\n

You need a tFTP service on the LAB-PC. Copy a valid Cisco IOS image file to the tFTP directory where files are served from. Adjust permissions.

<TODO COPY AND PERMISSIONS>\nguru@lab:~$ ls -lh /srv/tftp/\ntotal 852M\n...\n-rw-r--r-- 1 guru guru  82M sep  2  2021 c1900-universalk9-mz.SPA.157-3.M8.bin\n...\nguru@lab:~$ \n
  • Show the name of the network interface on the LAB-PC (in this case: enp0s25)
  • Configure an temporary IP address and subnet mask.
  • Verify.
guru@lab:~$ sudo ip link show\n[sudo] password for guru:     \n1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000\n    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00\n2: enp0s25: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000\n    link/ether 90:1b:0e:18:b9:8e brd ff:ff:ff:ff:ff:ff\n\nguru@lab:~$ sudo ip address add 192.168.1.101/24 dev enp0s25\n\nguru@lab:~$ ip a\n...\n2: enp0s25: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000\n    link/ether 90:1b:0e:18:b9:8e brd ff:ff:ff:ff:ff:ff\n    inet 192.168.1.101/24 scope global enp0s25\n    valid_lft forever preferred_lft forever\n

Configure an IP address and subnet mask on the router. Verify.

Router#conf t\nRouter(config)#int g0/0\nRouter(config-if)#ip add 192.168.1.84 255.255.255.0\nRouter(config-if)#no shut\nRouter(config-if)#end\nRouter#\n\nRouter#show ip int br\nInterface                  IP-Address      OK? Method Status                Protocol\n...   \nGigabitEthernet0/0         192.168.1.84    YES manual up                    up      \n...\nRouter#\n

Verify connectivity between the LAB-PC and the router.

Router#ping 192.168.1.101\nType escape sequence to abort.\nSending 5, 100-byte ICMP Echos to 192.168.1.101, timeout is 2 seconds:\n!!!!!\nSuccess rate is 100 percent (5/5), round-trip min/avg/max = 1/1/4 ms\nRouter#\n

Copy the IOS image from the TFTP server to the router's flash memory.

Router#copy tftp://192.168.1.101/c1900-universalk9-mz.SPA.157-3.M8.bin flash:\nDestination filename [c1900-universalk9-mz.SPA.157-3.M8.bin]? \nAccessing tftp://192.168.1.101/c1900-universalk9-mz.SPA.157-3.M8.bin...\nLoading c1900-universalk9-mz.SPA.157-3.M8.bin from 192.168.1.101 (via GigabitEthernet0/0): !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\n[OK - 85053068 bytes]\n\n85053068 bytes copied in 125.316 secs (678709 bytes/sec)\n\nRouter#\n

Verify and reboot.

Router#dir flash:\nDirectory of flash0:/\n\n    1  -rw-    85053068  Jul 10 2024 11:51:18 +00:00  c1900-universalk9-mz.SPA.157-3.M8.bin\n    2  -rw-          35  Jul 10 2024 11:36:02 +00:00  pnp-tech-time\n    3  -rw-       51320  Jul 10 2024 11:36:10 +00:00  pnp-tech-discovery-summary\n\n261189632 bytes total (176078848 bytes free)\nRouter#\n\nRouter#reload\n\nProceed with reload? [confirm]\n\n*Jul 10 11:53:13.439: %SYS-5-RELOAD: Reload requested by console. Reload Reason: Reload Command.\n

Verify that the correct IOS image is loaded. Enjoy your new IOS!

Router#show version\nCisco IOS Software, C1900 Software (C1900-UNIVERSALK9-M), Version 15.7(3)M8, RELEASE SOFTWARE (fc1)\n...\n...\nSystem image file is \"flash0:c1900-universalk9-mz.SPA.157-3.M8.bin\"\n...\n
"},{"location":"howtos/reinstall-ios-cisco1941/#ssh-sftp","title":"SSH (sFTP)","text":"

todo

"},{"location":"howtos/reinstall-ios-cisco1941/#http","title":"HTTP","text":"

todo

"},{"location":"howtos/reinstall-ios-cisco1941/#from-rommon_1","title":"From ROMMON","text":"

First, start the router in ROMMON-mode.

"},{"location":"howtos/reinstall-ios-cisco1941/#tftp_1","title":"tFTP","text":"Step1Step2Step3Step4

Set the necessary parameters to make tFTP possible.

rommon 1 > IP_ADDRESS=192.168.1.84\nrommon 2 > IP_SUBNET_MASK=255.255.255.0\nrommon 3 > DEFAULT_GATEWAY=192.168.1.254\nrommon 4 > TFTP_SERVER=192.168.1.101\nrommon 5 > TFTP_FILE=c1900-universalk9-mz.SPA.157-3.M8.bin\nrommon 6 >\n

Start the tFTP transfer.

rommon 6 > tftpdnld\n\n        IP_ADDRESS: 192.168.1.84\n    IP_SUBNET_MASK: 255.255.255.0\n    DEFAULT_GATEWAY: 192.168.1.254\n        TFTP_SERVER: 192.168.1.101\n        TFTP_FILE: c1900-universalk9-mz.SPA.157-3.M8.bin\n        TFTP_MACADDR: d8:b1:90:63:85:60\n    TFTP_DESTINATION: flash0:\n            GE_PORT: Ge0/0\n    TFTP_MEDIA_TYPE: Copper\n        TFTP_VERBOSE: Progress\n    TFTP_RETRY_COUNT: 20\n        TFTP_TIMEOUT: 7200\n    TFTP_CHECKSUM: Yes\n    GE_SPEED_MODE: Auto Detect\n\nInvoke this command for disaster recovery only.\nWARNING: all existing data in all partitions on flash will be lost!\nDo you wish to continue? y/n:  [n]:  y\n\nReceiving c1900-universalk9-mz.SPA.157-3.M8.bin from 192.168.1.101 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\nFile reception completed.\nIOS Image Load Test \n___________________ \nDigitally Signed Release Software \n\nValidating checksum.\nCopying file c1900-universalk9-mz.SPA.157-3.M8.bin to flash0:.\nprogram load complete, entry point: 0x80803000, size: 0x1b340\n\nFormat: All system sectors written. OK...\n\nFormat: Total sectors in formatted partition: 510944\nFormat: Total bytes in formatted partition: %llu\nFormat: Operation completed successfully.\nprogram load complete, entry point: 0x80803000, size: 0x1b340\n\nrommon 7 > \n

Verify flash.

rommon 7 > dir flash:\nprogram load complete, entry point: 0x80803000, size: 0x1b340\nDirectory of flash:\n\n2      85053068  -rw-     c1900-universalk9-mz.SPA.157-3.M8.bin\nrommon 8 > \n

Reload the router.

rommon 8 > reset\n\nSystem Bootstrap, Version 15.0(1r)M16, RELEASE SOFTWARE (fc1)\n...\n
"},{"location":"howtos/reinstall-ios-cisco2960/","title":"(Re)install an IOS operating system on a Cisco 2960 switch","text":""},{"location":"howtos/reinstall-ios-cisco2960/#prereqs","title":"Prereqs","text":"
  • a PC (BIOS/UEFI) running Linux Mint 21
    • minicom terminal emulation software
    • (a tFTP service)
  • a console cable
  • (a network cable)
  • a Cisco 2960 24TT-L or 24TC-L Plus switch
"},{"location":"howtos/reinstall-ios-cisco2960/#situation","title":"Situation","text":"

At the time of writing, the latest IOS for...

  • a \"Cisco 2960 24TT-L switch\" is \"15.0(2)SE11\"
  • a \"Cisco 24TC-L Plus switch\" is \"15.2(7)E8\"

Version \"15.2(7)E8\" does NOT run on a \"Cisco 2960 24TT-L switch\". Version 15.0(2)SE11 runs on both switches. I'll use that version for the examples.

"},{"location":"howtos/reinstall-ios-cisco2960/#ios-transfer-over-serial-xmodem","title":"IOS transfer over serial (xmodem)","text":""},{"location":"howtos/reinstall-ios-cisco2960/#from-ios","title":"From IOS","text":"Step1Step2Step3Step4Step5Step6Step7Step8

Verify that there is enough space left on the Flash filesystem to add an (additional) IOS. In this example, I will simulate a missing IOS by deleting it. Do not reload!

Switch#dir flash:\nDirectory of flash:/\n\n    3  drwx         128  May 29 2024 10:34:46 +00:00  pnp-tech\n    4  drwx           0   Mar 1 1993 00:01:03 +00:00  pnp-info\n    9  -rwx    11832946  May 29 2024 11:35:59 +00:00  c2960-lanbasek9-mz.150-2.SE11.bin\n10  -rwx        1048  May 29 2024 11:37:31 +00:00  multiple-fs\n\n65544192 bytes total (53509632 bytes free)\nSwitch#\nSwitch#delete flash:/c2960-lanbasek9-mz.150-2.SE11.bin\nDelete filename [c2960-lanbasek9-mz.150-2.SE11.bin]? \nDelete flash:/c2960-lanbasek9-mz.150-2.SE11.bin? [confirm]\nSwitch#\n

Set the baud rate to 115200 to speed up the transfer. You will lose the connection after the last command. Some gibberish characters can emerge.

Switch#configure terminal\nEnter configuration commands, one per line.  End with CNTL/Z.\nSwitch(config)#line console 0\nSwitch(config-line)#speed 115200\nC\ufffd\n

Adjust the settings in your terminal emulation program to match the new baud rate. For minicom, press Ctrl+A and then Z. Type O and choose \"Serial port setup\". Change setting E and Enter twice. Exit.

Switch#conf t                                                                                                    \nEnter configuration commands, one per line.  End with CNTL/Z.                                                    \nSwit+-----------------+---------[Comm Parameters]----------+----------------+                                    \nSwit| A -    Serial De|                                    |                |                                    \nC\ufffd  | B - Lockfile Loc|     Current:  9600 8N1             |                |                                    \n    | C -   Callin Pro| Speed            Parity      Data  |                |                                    \n    | D -  Callout Pro| A: <next>        L: None     S: 5  |                |                                    \n    | E -    Bps/Par/B| B: <prev>        M: Even     T: 6  |                |                                    \n    | F - Hardware Flo| C:   9600        N: Odd      U: 7  |                |                                    \n    | G - Software Flo| D:  38400        O: Mark     V: 8  |                |                                    \n    | H -     RS485 En| E: 115200        P: Space          |                |                                    \n    | I -   RS485 Rts |                                    |                |                                    \n    | J -  RS485 Rts A| Stopbits                           |                |                                    \n    | K -  RS485 Rx Du| W: 1             Q: 8-N-1          |                |                                    \n    | L -  RS485 Termi| X: 2             R: 7-E-1          |                |                                    \n    | M - RS485 Delay |                                    |                |                                    \n    | N - RS485 Delay |                                    |                |                                    \n    |                 | Choice, or <Enter> to exit?        |                |                                    \n    |    Change which +------------------------------------+                |                                    \n    +-----------------------------------------------------------------------+\n

Press Enter The connection is back. Initiate an xMODEM transfer. Confirm the destination filename. The switch will then prompt you to start the transfer from your terminal emulator.

    Switch(config-line)#end\n    Switch#copy xmodem: flash:c2960-lanbasek9-mz.150-2.SE11.bin\n    Destination filename [c2960-lanbasek9-mz.150-2.SE11.bin]?     <----- press ENTER\n    Begin the Xmodem or Xmodem-1K transfer now...\n    CCC\n

For minicom, press Ctrl+A and then Z. Type S (Send files) and select \"xmodem\". Navigate your way to the new IOS file (here /srv/tftp). Press Space to tag the file and enter \"Okay\" to send.

Grab a coffee. This can take a long time depending on the size of the IOS image. Wait for the transfer to complete and then press Enter to quit.

Make the switch boot from the newly transferred IOS image, verify and reboot.

Switch(config)#boot system flash:/c2960-lanbasek9-mz.150-2.SE11.bin\nSwitch(config)#end\nSwitch#show boot\nBOOT path-list      : flash:/c2960-lanbasek9-mz.150-2.SE11.bin\n...\n...\n\nSwitch#reload\n\nSystem configuration has been modified. Save? [yes/no]: no  <----- if asked\nProceed with reload? [confirm]\n

You have to adjust the settings in your terminal emulation program again, to match the default baud of 9600. Verify that the correct IOS image is loaded. Enjoy your new IOS!

Switch#show version\nCisco IOS Software, C2960 Software (C2960-LANBASEK9-M), Version 15.0(2)SE11, RELEASE SOFTWARE (fc3)\n...\n...\nSystem returned to ROM by power-on\nSystem image file is \"flash:/c2960-lanbasek9-mz.150-2.SE11.bin\"\n...\n...\n\nSwitch Ports Model              SW Version            SW Image                 \n------ ----- -----              ----------            ----------               \n*    1 26    WS-C2960+24TC-L    15.0(2)SE11           C2960-LANBASEK9-M        \n\nConfiguration register is 0xF\n\nSwitch#\n
"},{"location":"howtos/reinstall-ios-cisco2960/#from-rommon","title":"From ROMMON","text":"

First, start the switch in ROMMON-mode.

Step1Step2Step3Step4Step5Step6Step7Step8Step9Step10

Verify that there is enough space left on the Flash filesystem to add an (additional) IOS. In this example, I will simulate a missing IOS by deleting it.

switch: dir flash:\nDirectory of flash:/\n\n    2  -rwx  11832960  <date>               c2960-lanbasek9-mz.150-2.SE11.bin\n    3  drwx  128       <date>               pnp-tech\n    4  drwx  0         <date>               pnp-info\n    10  -rwx  1048      <date>               multiple-fs\n\n53509632 bytes available (12034560 bytes used)\n\nswitch: delete flash:c2960-lanbasek9-mz.150-2.SE11.bin\nAre you sure you want to delete \"flash:c2960-lanbasek9-mz.150-2.SE11.bin\" (y/n)?y\nFile \"flash:c2960-lanbasek9-mz.150-2.SE11.bin\" deleted\n\nswitch: \n

Set the baud rate to 115200 to speed up the transfer. You will lose the connection after the last command. Some gibberish characters can emerge.

switch: set BAUD 115200\n                   \ufffd \n

Adjust the settings in your terminal emulation program to match the new baud rate. For minicom, press Ctrl+A and then Z. Type O and choose \"Serial port setup\". Change setting E to \"115200\" and Enter twice. Exit the configuration menu.

swit+-----------------+---------[Comm Parameters]----------+----------------+                                    \nswit| A -    Serial De|                                    |                |                                    \nC\ufffd  | B - Lockfile Loc|     Current:  9600 8N1             |                |                                    \n    | C -   Callin Pro| Speed            Parity      Data  |                |                                    \n    | D -  Callout Pro| A: <next>        L: None     S: 5  |                |                                    \n    | E -    Bps/Par/B| B: <prev>        M: Even     T: 6  |                |                                    \n    | F - Hardware Flo| C:   9600        N: Odd      U: 7  |                |                                    \n    | G - Software Flo| D:  38400        O: Mark     V: 8  |                |                                    \n    | H -     RS485 En| E: 115200        P: Space          |                |                                    \n    | I -   RS485 Rts |                                    |                |                                    \n    | J -  RS485 Rts A| Stopbits                           |                |                                    \n    | K -  RS485 Rx Du| W: 1             Q: 8-N-1          |                |                                    \n    | L -  RS485 Termi| X: 2             R: 7-E-1          |                |                                    \n    | M - RS485 Delay |                                    |                |                                    \n    | N - RS485 Delay |                                    |                |                                    \n    |                 | Choice, or <Enter> to exit?        |                |                                    \n    |    Change which +------------------------------------+                |                                    \n    +-----------------------------------------------------------------------+ \n

Press Enter The connection is back. Initiate an xMODEM transfer. The switch will then prompt you to start the transfer from your terminal emulator.

switch: copy xmodem: flash:c2960-lanbasek9-mz.150-2.SE11.bin                                                            \nBegin the Xmodem or Xmodem-1K transfer now...                                                                         \nCCC\n

For minicom, press Ctrl+A and then Z. Type S (Send files) and select \"xmodem\". Navigate your way to the new IOS file (here /home/guru/Downloads). Press Space to tag the file and press \"Okay\" to send.

Grab a coffee. This can take a long time depending on the size of the IOS image. Wait for the transfer to complete and then press Enter to quit.

Update the BOOT parameter to match the new IOS.

switch: copy xmodem: flash:c2960-lanbasek9-mz.150-2.SE11.bin                                                            \nBegin the Xmodem or Xmodem-1K transfer now...                                                                         \nC...........................................................................................................................................................\nFile \"xmodem:\" successfully copied to \"flash:c2960-lanbasek9-mz.150-2.SE11.bin\"                                         \n\nswitch: set BOOT flash:c2960-lanbasek9-mz.150-2.SE11.bin                                                                \n\nswitch: \n

Set the BAUD rate back to the default (9600 bps). You have to adjust the settings in your terminal emulation program again. Press Enter The connection is back.

switch: unset BAUD                                                                                                                                            \n                }                                                                                                                                           \n\nswitch:\n

Finally, boot the switch manually.

switch: boot                                                                                                                                                  \nLoading \"flash:c2960-lanbasek9-mz.150-2.SE11.bin\"...@@@@@@@@@@@@@@@@@\n

Verify that the correct IOS image is loaded. Enjoy your new IOS!

Switch#show version\nCisco IOS Software, C2960 Software (C2960-LANBASEK9-M), Version 15.0(2)SE11, RELEASE SOFTWARE (fc3)\n...\n...\nSystem returned to ROM by power-on\nSystem image file is \"flash:/c2960-lanbasek9-mz.150-2.SE11.bin\"\n...\n...\n\nSwitch Ports Model              SW Version            SW Image                 \n------ ----- -----              ----------            ----------               \n*    1 26    WS-C2960+24TC-L    15.0(2)SE11           C2960-LANBASEK9-M        \n\nConfiguration register is 0xF\n\nSwitch#\n
"},{"location":"howtos/reinstall-ios-cisco2960/#ios-transfer-over-network-protocol","title":"IOS transfer over network protocol","text":"

Transfer using a network protocol is only possible from IOS, not from ROMMON-mode.

"},{"location":"howtos/reinstall-ios-cisco2960/#tftp","title":"tFTP","text":"Step1Step2Step3Step4Step5Step6Step7Step8Step9

Verify that there is enough space left on the Flash filesystem to add an (additional) IOS. In this example, I will simulate a missing IOS by deleting it.

Switch#dir flash:\nDirectory of flash:/\n\n    2  -rwx    11832946   Mar 1 1993 00:12:06 +00:00  c2960-lanbasek9-mz.150-2.SE11.bin\n    3  -rwx        1048   Mar 1 1993 00:01:03 +00:00  multiple-fs\n\n32514048 bytes total (20678144 bytes free)\n\nSwitch# delete flash:c2960-lanbasek9-mz.150-2.SE11.bin\nAre you sure you want to delete \"flash:c2960-lanbasek9-mz.150-2.SE11.bin\" (y/n)?y\nFile \"flash:c2960-lanbasek9-mz.150-2.SE11.bin\" deleted\n\nSwitch# \n

You need a tFTP service on the LAB-PC. Copy a valid Cisco IOS image file to the tFTP directory where files are served from. Adjust permissions.

<TODO COPY AND PERMISSIONS>\nguru@lab:~$ ls -lh /srv/tftp/\ntotal 852M\n...\n-rw-r--r-- 1 guru guru  12M sep  2  2021 c2960-lanbasek9-mz.150-2.SE11.bin\n...\nguru@lab:~$ \n
  • Show the name of the network interface on the LAB-PC (in this case: enp0s25)
  • Configure an temporary IP address and subnet mask.
  • Verify.
guru@lab:~$ sudo ip link show\n[sudo] password for guru:     \n1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000\n    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00\n2: enp0s25: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000\n    link/ether 90:1b:0e:18:b9:8e brd ff:ff:ff:ff:ff:ff\n\nguru@lab:~$ sudo ip address add 192.168.1.101/24 dev enp0s25\n\nguru@lab:~$ ip a\n...\n2: enp0s25: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000\n    link/ether 90:1b:0e:18:b9:8e brd ff:ff:ff:ff:ff:ff\n    inet 192.168.1.101/24 scope global enp0s25\n    valid_lft forever preferred_lft forever\n

Configure an IP address and subnet mask on the switch. Verify.

Switch#conf t\nEnter configuration commands, one per line.  End with CNTL/Z.\nSwitch(config)#int vlan 1\nSwitch(config-if)#ip add 192.168.1.84 255.255.255.0\nSwitch(config-if)#no shut\nSwitch(config-if)#do show ip int br\nInterface              IP-Address      OK? Method Status                Protocol\nVlan1                  192.168.1.84    YES manual up                    up      \n...\n

Optional (in this case): ensure that the TFTP session is sourced from the correct interface (here: VLAN 1).

Switch(config-if)#exit\nSwitch(config)#ip tftp source-interface vlan 1\nSwitch(config)#end\nSwitch#\n

Verify connectivity between the LAB-PC and the switch.

Switch#ping 192.168.1.101\nType escape sequence to abort.\nSending 5, 100-byte ICMP Echos to 192.168.1.101, timeout is 2 seconds:\n!!!!!\nSuccess rate is 100 percent (5/5), round-trip min/avg/max = 1/205/1015 ms\nSwitch#\n

Copy the IOS image from the TFTP server to the switch's flash memory.

Switch#copy tftp://192.168.1.101/c2960-lanbasek9-mz.150-2.SE11.bin flash:\nDestination filename [c2960-lanbasek9-mz.150-2.SE11.bin]? \nAccessing tftp://192.168.1.101/c2960-lanbasek9-mz.150-2.SE11.bin...\nLoading c2960-lanbasek9-mz.150-2.SE11.bin from 192.168.1.101 (via Vlan1): !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\n[OK - 11832946 bytes]\n\n11832946 bytes copied in 144.938 secs (81641 bytes/sec)\nSwitch#\n

Make the switch boot from the newly transferred IOS image, verify and reboot.

Switch#configure terminal\nSwitch(config)#boot system flash:/c2960-lanbasek9-mz.150-2.SE11.bin\nSwitch(config)#end\nSwitch#\n\nSwitch#show boot\nBOOT path-list      : flash:/c2960-lanbasek9-mz.150-2.SE11.bin\n...\n...\nSwitch#reload\n\nSystem configuration has been modified. Save? [yes/no]: no\nProceed with reload? [confirm]\n...\n

Verify that the correct IOS image is loaded. Enjoy your new IOS!

Switch#show version\nCisco IOS Software, C2960 Software (C2960-LANBASEK9-M), Version 15.0(2)SE11, RELEASE SOFTWARE (fc3)\n...\n...\nSystem returned to ROM by power-on\nSystem image file is \"flash:/c2960-lanbasek9-mz.150-2.SE11.bin\"\n...\n...\n\nSwitch Ports Model              SW Version            SW Image                 \n------ ----- -----              ----------            ----------               \n*    1 26    WS-C2960+24TC-L    15.0(2)SE11           C2960-LANBASEK9-M        \n\nConfiguration register is 0xF\n\nSwitch#\n
"},{"location":"howtos/reinstall-ios-cisco2960/#ssh-sftp","title":"SSH (sFTP)","text":"

todo

"},{"location":"howtos/reinstall-ios-cisco2960/#http","title":"HTTP","text":"

todo

"},{"location":"howtos/template/","title":"Title","text":""},{"location":"howtos/template/#use-tabs-for-a-task-that-has-more-than-1-step-with-a-picture","title":"Use tabs for a task that has more than 1 step with a picture.","text":"

(Optional) task explanation.

Step1StepX

(Optional) step explanation.

(Optional) step explanation.

"},{"location":"howtos/template/#no-need-for-tabs-for-a-task-with-only-1-step-with-a-picture","title":"No need for tabs for a task with only 1 step with a picture.","text":"

(Optional) task explanation.

"},{"location":"howtos/template/#a-shell-command-shows-the-syntax-output-in-tabs","title":"A shell command shows the syntax + output in tabs.","text":"

(Optional) task explanation.

guru@hp:~$_output

(Optional) step explanation.

sudo <execute some command>\n

(Optional) step explanation.

guru@hp:~$ sudo <execute some command>\n[sudo] password for guru:     \n...\n...\n
"},{"location":"howtos/template/#changing-contents-of-a-file-shows-the-command-and-the-contents-of-that-file-in-tabs","title":"Changing contents of a file shows the command and the contents of that file in tabs.","text":"

(Optional) task explanation.

guru@hp:~$_/path/to/that/file

(Optional) step explanation.

sudo <edit some file>\n

(Optional) step explanation.

...\n...\n...\n...\n
"},{"location":"howtos/todo/","title":"Todo","text":"

In progress...

"},{"location":"howtos/use-minicom-linux-mint/","title":"Use minicom on Linux Mint 21","text":""},{"location":"howtos/use-minicom-linux-mint/#prereqs","title":"Prereqs","text":"
  • a PC (BIOS/UEFI) running Linux Mint 21
  • internet connection
  • a serial/console cable
  • a Cisco device (switch, router)
"},{"location":"howtos/use-minicom-linux-mint/#setup","title":"Setup","text":""},{"location":"howtos/use-minicom-linux-mint/#install-minicom","title":"Install minicom","text":"

Refresh the cache and install the package.

guru@lab:~$_output
sudo apt update; sudo apt install minicom -y\n
guru@lab:~$ sudo apt update; sudo apt install minicom -y\n[sudo] password for guru:     \nHit:1 http://security.ubuntu.com/ubuntu jammy-security InRelease\nHit:2 http://archive.ubuntu.com/ubuntu jammy InRelease\n...\n...\nProcessing triggers for man-db (2.10.2-1) ...\nProcessing triggers for mailcap (3.70+nmu1ubuntu1) ...\nguru@lab:~$ \n
"},{"location":"howtos/use-minicom-linux-mint/#identify-serial-port","title":"Identify serial port","text":"

Your Cisco device is connected to the Linux Mint LAB-PC using a serial cable. On that PC, run the following command to list the available serial ports. Note down the name of the serial port (e.g. /dev/ttyUSB0) corresponding to your device.

guru@lab:~$_output
dmesg | grep tty\n
guru@lab:~$ dmesg | grep tty\n[    0.206150] printk: console [tty0] enabled\n[18977.539042] usb 1-4: pl2303 converter now attached to ttyUSB0\nguru@lab:~$ \n
"},{"location":"howtos/use-minicom-linux-mint/#configure-and-use-minicom","title":"Configure and use minicom","text":"

In the terminal, run the following command to start the \"Minicom configuration\" and then \"Minicom\".

guru@lab:~$_output
sudo minicom -s\nsudo minicom\n

In the Minicom configuration menu, use the arrow keys to navigate and configure the settings as follows:

  • Select \"Serial port setup\"
  • Set the serial device to the one you noted down earlier (e.g. \"/dev/ttyUSB0\")
  • Set the baud rate according to your device's specifications (e.g. \"9600\")
  • Leave other settings at their default values, unless you have specific requirements
  • Press \"Save setup as dfl\" to save the configuration.
  • Press \"Exit from Minicom\".

These settings will be saved in file /etc/minicom/minirc.dfl for all future runs.

"},{"location":"howtos/use-minicom-linux-mint/#alternative-use","title":"Alternative use","text":"

Instead of doing the setup first, you can give the correct parameters on the commandline instead. Minicom will open and display the terminal window.

guru@lab:~$_output
sudo minicom -b 9600 -D /dev/ttyUSB0\n

Press Enter to access the switch/router prompt. To exit Minicom, press the keyboard shortcut Ctrl A followed by the letter X

Welcome to minicom 2.8\n\nOPTIONS: I18n \nPort /dev/ttyUSB0, 14:06:27\n\nPress CTRL-A Z for help on special keys\n\n<press ENTER>\n\nSwitch>\n
"},{"location":"howtos/windows11-bootable-usb-flash-drive/","title":"Create a Windows 11 bootable USB flash drive","text":""},{"location":"howtos/windows11-bootable-usb-flash-drive/#prereqs","title":"Prereqs","text":"
  • USB flash drive that can hold the Windows 11 installation files
  • a PC (BIOS/UEFI) running Windows 11 or Linux Mint 21
  • internet connection
"},{"location":"howtos/windows11-bootable-usb-flash-drive/#download-iso","title":"Download ISO","text":"Step1Step2Step3Step4

Use your favorite search engine to search for the Windows 11 iso and choose the official Microsoft website. (VDAB users: download from your Google Drive!)

Select \"Windows 11 (multi-edition ISO for x64 devices)\" from the drop down menu and click \"Download\".

Select \"English (United States)\" as the product language and click \"Confirm\".

Click \"64-bit Download\". The ISO file will be saved to your local disk.

"},{"location":"howtos/windows11-bootable-usb-flash-drive/#on-windows-11","title":"On Windows 11","text":""},{"location":"howtos/windows11-bootable-usb-flash-drive/#with-rufus","title":"With Rufus","text":""},{"location":"howtos/windows11-bootable-usb-flash-drive/#download-and-install-rufus","title":"Download and install Rufus","text":"Step1Step2Step3Step4Step5

Use your favorite search engine to search for Rufus and choose the official website.

Click the current \"standard\" installer version. The file will be saved to your local disk.

Execute the installer and allow for changes.

Allow Rufus to check for updates.

Done. Installation finished.

"},{"location":"howtos/windows11-bootable-usb-flash-drive/#for-bios-or-uefi-csm","title":"For BIOS (or UEFI-CSM)","text":"Step1Step2Step3Step4Step5
  1. Insert the USB flash drive
  2. Navigate to and select the Windows 11 ISO file
  3. Choose \"Windows standard installation\" as image option
  4. Choose \"MBR\" as partition scheme
  5. Select \"BIOS (or UEFI-CSM)\" as target system
  6. Select \"NTFS\" as file system
  7. Click \"Start\"

Clear all check marks. We want the Windows installation the same as the official Microsoft installation.

Click \"OK\" to confirm the USB\u2019s deletion and the bootable drive\u2019s creation.

Time to grab a coffee. Wait until the status is \"Ready\".

Close Rufus and eject the USB media.

"},{"location":"howtos/windows11-bootable-usb-flash-drive/#for-uefi-non-csm","title":"For UEFI (non-CSM)","text":"Step1Step2Step3Step4Step5
  1. Insert the USB flash drive
  2. Navigate to and select the Windows 11 ISO file
  3. Choose \"Windows standard installation\" as image option
  4. Choose \"GPT\" as partition scheme
  5. Select \"UEFI (non-CSM)\" as target system
  6. Select \"NTFS\" as file system
  7. Click \"Start\"

Clear all check marks. We want the Windows installation the same as the official Microsoft installation.

Click \"OK\" to confirm the USB\u2019s deletion and the bootable drive\u2019s creation.

Time to grab a coffee. Wait until the status is \"Ready\".

Close Rufus and eject the USB media.

"},{"location":"howtos/windows11-bootable-usb-flash-drive/#with-etcher","title":"With Etcher","text":"

Todo...

"},{"location":"howtos/windows11-bootable-usb-flash-drive/#on-linux-mint-21","title":"On Linux Mint 21","text":"

Todo...

"},{"location":"references/","title":"References landing page","text":"

In progress...

"},{"location":"tutorials/","title":"Tutorials overview","text":""},{"location":"tutorials/#what","title":"What?","text":"

Tutorials are lessons that take you, the reader, by the hand through a series of steps to complete a project of some kind. They are learning-oriented.

"},{"location":"tutorials/#say-what","title":"Say what?","text":"

They are a matter of craft. Skill. It\u2019s knowledge, but it\u2019s practical knowledge, not theoretical. Complex or advanced, basic or well known.

"},{"location":"tutorials/#what-they-do","title":"What they do","text":"

They introduce. They educate. They learn.

"},{"location":"tutorials/#answers-the-question","title":"Answers the question","text":"

\"Can you teach me to...?\"

"},{"location":"tutorials/#oriented-to","title":"Oriented to","text":"

Learning. Let's begin. Let's dive in. With teacher guidance. They serve the need of the user @study. They provide an enjoyable, successful learning experience.

"},{"location":"tutorials/#purpose","title":"Purpose","text":"
  • to allow you, the newcomer, to get started
  • to help you, a beginner, achieve basic competence
  • to show you, the learner, that you can be successful
  • to turn you, new learner, into a user
"},{"location":"tutorials/#form","title":"Form","text":"

A lesson, learning how rather than learning that. By providing exercises that are:

  • meaningful
  • successful
  • logical
  • usefully complete
"},{"location":"tutorials/#analogy","title":"Analogy","text":"

Teaching someone how to cook. Enjoy. Gain confidence. Repeat.

"},{"location":"tutorials/#my-responsability","title":"My responsability","text":"

It\u2019s not easy being a teacher. I'm responsable for...

  • what you are to learn
  • what you will do in order to learn it
  • your success
"},{"location":"tutorials/#your-responsability","title":"Your responsability","text":"
  • there is no responsibility on you to learn, understand or remember
  • only follow the instructions as closely as you can
  • and be attentive
"},{"location":"tutorials/#approach","title":"Approach","text":"
  • I'll try not to teach
  • I'll get you started
  • I'll follow a carefully-managed path, starting at a given point and working to a conclusion
  • I'll familiarize
  • in a contrived setting
  • I'll eliminate the unexpected
  • and be explicit about basic things
  • I'll teach general skills and principles
  • by providing the big picture and setting expectations
  • and by ensuring results
  • I'll make the tutorials repeatable and safe
  • describe concrete steps, not abstract steps
  • offer minimum explanation
  • and ignore options and alternatives
"},{"location":"tutorials/#the-problem","title":"The problem.","text":"
  • tutorials are difficult to do well
  • and time consuming
  • with lots of revisions
  • and I, the teacher, am not present
"},{"location":"tutorials/ansible/","title":"Overview","text":"

Coming soon...

"},{"location":"tutorials/git/","title":"Overview","text":"

Coming soon...

"},{"location":"tutorials/puppet/","title":"Overview","text":"

Coming soon...

"},{"location":"tutorials/windows-server-2022-virtualbox/","title":"Install Windows Server 2022 in VirtualBox 6.1.50","text":"

There are several reasons why someone might want to install Windows Server 2022 in a virtual machine (VM). Here are a few possible scenarios:

  • Testing and Evaluation: Installing Windows Server 2022 in a virtual machine allows you to test the new operating system without affecting your primary computer or existing software setup. It provides a safe environment to evaluate the new features, compatibility with your existing software, and overall performance.

  • Development and Software Testing: If you're a developer or software tester, having a virtual machine with Windows Server 2022 lets you ensure that your software works seamlessly on the latest version of Windows. It allows you to perform compatibility testing, identify and resolve any issues or bugs specific to Windows Server 2022.

  • Learning and Familiarization: Virtual machines provide an excellent platform for learning and familiarizing yourself with a new operating system. By installing Windows Server 2022 in a virtual machine, you can explore its features, interface, and functionalities, without the risk of making irreversible changes to your main computer.

  • Isolated Environment: Virtual machines offer isolation from the host operating system. If you need to run potentially risky or experimental software, installing Windows Server 2022 in a virtual machine provides a sandboxed environment where any negative effects are contained within the virtual machine. This helps protect your main system from potential harm.

  • Multi-OS Environments: Virtual machines enable you to have multiple operating systems running simultaneously on a single physical computer. If you need to use both Windows Server 2022 and another operating system, such as Linux or an older version of Windows, you can set up a virtual machine to run Windows Server 2022 alongside your primary operating system.

  • Accessibility and Convenience: Running Windows Server 2022 in a virtual machine can be more convenient for certain tasks. For example, if you require specific software that is only compatible with Windows Server 2022, you can access it easily within the virtual machine without needing to switch between different computers or dual-boot setups.

Overall, installing Windows Server 2022 in a virtual machine provides flexibility, safety, and convenience for testing, development, learning, and running specific software in an isolated environment.

"},{"location":"tutorials/windows-server-2022-virtualbox/configure-os/","title":"Configure OS","text":""},{"location":"tutorials/windows-server-2022-virtualbox/configure-os/#guest-additions","title":"Guest additions","text":"Step1Step2Step3Step4Step5Step6Step7

Logon using right Ctrl + Del (\"Administrator\"/\"Admin123\"). Answer \"No\" on the question, if your PC has to be discoverable. Close all Windows for now.

Select \"Devices -> Insert Guest Additions CD Image\". At first glance, nothing will happen, but in the background, a \"virtual cd\" gets mounted.

Start the \"Windows Explorer\". You can see the \"virtual cd\" via the D:\\ drive. Double-click on \"VboxWindowsAdditions-amd64\".

Read and comprehend all messages. Follow the installation steps and restart.

Login (\"Administrator\"/\"Admin123\") and select \"View -> Full-screen Mode\". It takes a second, but the screen should maximize.

Hooray, full screen! Play with \"Host+F\" key in combination with maximizing the screen. I choose to see both my \"Linux desktop menu\" as the \"Windows Start menu\".

Start \"Windows Explorer\". Right-click on D:\\ -> Eject (= \"remove the virtual cd\"). Windows Explorer will close.

"},{"location":"tutorials/windows-server-2022-virtualbox/configure-os/#automatic-updates","title":"Automatic updates","text":"Step1Step2Step3

Right-click on \"Start -> Settings\" and select \"Update & Security\".

Install all available updates. Reboot when asked to. Repeat \"Check for updates/installing updates\".

There should be no more updates available.

"},{"location":"tutorials/windows-server-2022-virtualbox/configure-os/#clean-up","title":"Clean up.","text":"Step1Step2Step3

Clear all notifications.

Let's do a final restart so all updates are properly installed.

Finally, \"shutdown\" Windows.

"},{"location":"tutorials/windows-server-2022-virtualbox/configure-vm/","title":"Configure VM","text":""},{"location":"tutorials/windows-server-2022-virtualbox/configure-vm/#download-iso","title":"Download ISO","text":"Step1Step2Step3Step4Step5Step6

Use your favorite search engine to search for the Windows Server 2019 trial iso and choose the official Microsoft website. Registration is needed.

Select \"Download the ISO\".

Fill in the form.

Select the \"English (United States) 64-bit edition\".

Grab a coffee.

Give the file an appropriate filename.

"},{"location":"tutorials/windows-server-2022-virtualbox/configure-vm/#edit-settings","title":"Edit settings","text":"Step1Step2Step3Step4Step5Step6Step7

Right-click -> Settings.

General -> Advanced: enable copy/paste in both directions.

System -> Motherboard: first boot from \"disk\". If there is no OS found, boot from the \"virtual CD\" (.ISO file). Disable \"Floppy\".

Add a virtual optical disk.

Select \"Add\" and browse to \"/home/guru/Downloads\". Double-click the .ISO file.

Select \"Choose\".

We do not need audio.

"},{"location":"tutorials/windows-server-2022-virtualbox/configure-vm/#verify-settings","title":"Verify settings","text":""},{"location":"tutorials/windows-server-2022-virtualbox/create-snapshot-clean-install/","title":"Create snapshot clean install.","text":"Step1Step2Step3Step4

Select \"Machine -> Tools -> Snapshots\".

Select \"Current State\" and click \"Take\". Give a proper name, like \"Clean install\". A good \"Snapshot Description\" can be handy!

If you change \"something\" in this virtual machine, you will get \"Current State (changed)\". Want to revert those changes? Select \"Clean install\" and click \"Restore\". Be sure to clear the checkbox at \"Create a snapshot of the current machine state\" or you'll end up with another snapshot.

You know if the snapshot has been properly restored, if the \"Current State\" equals the \"Clean install\" again.

"},{"location":"tutorials/windows-server-2022-virtualbox/create-snapshot-sysprep/","title":"Create snapshot sysprep.","text":"Step1Step2Step3

Select \"Machine -> Tools -> Snapshots\".

Select \"Current State (changed)\" and click \"Take\". Give a proper name, like \"Sysprep\". A good \"Snapshot Description\" can be handy!

The end-result should look like this.

"},{"location":"tutorials/windows-server-2022-virtualbox/create-sysprep/","title":"Create sysprep.","text":"Step1Step2

Start the VM and login (\"Administrator\"/\"Admin123\"). Run a commandprompt.

First change the path. Then enter the sysprep command with parameters. A pop-up window appears. Finally, the system shuts down.

"},{"location":"tutorials/windows-server-2022-virtualbox/create-vm/","title":"Create VM","text":"Step1Step2Step3Step4Step5Step6Step7Step8

Select \"Machine -> New\".

Under \"Version\", select \"Windows Server 2019 (64-bit)\", as there is no possibility to choose \"Windows Server 2022 (64-bit)\" (>= VirtualBox 7).

Enter 8192 MB (8 GB) memory.

Select \"Create a virtual hard disk now\".

Select \"VDI\" as hard disk file type.

Read and comprehend the text. Select \"Dynamically allocated\".

Enter 100 GB disk size.

Current settings.

"},{"location":"tutorials/windows-server-2022-virtualbox/final-result/","title":"Final result","text":"

You\u2019ve just learned how to install a Windows Server 2022 virtual machine in VirtualBox. We have a working base system, that is fully set up and ready to be used!

Now you\u2019re ready to go on to the next step. Checkout some of my howtos.

Or you could check out some other tutorials.

If you have any questions, comments, or corrections, I\u2019d love to hear from you: jurgen dot lamsens @ telenet dot be.

"},{"location":"tutorials/windows-server-2022-virtualbox/getting-started/","title":"Getting started","text":"

Let's get set up! We have to make sure we\u2019ve got all the prerequisites set.

  • a PC (BIOS/UEFI) running Linux Mint 21
  • a VirtualBox installation
"},{"location":"tutorials/windows-server-2022-virtualbox/install-os/","title":"Install OS","text":""},{"location":"tutorials/windows-server-2022-virtualbox/install-os/#boot-from-iso","title":"Boot from ISO","text":"Step1Step2

Start the virtual machine. If you do nothing, you'll get an interactive shell. If this is the first time you start a virtual machine (in this screenshot example Windows 11), you get the \"Auto capture keyboard\" and \"mouse pointer integration\" messages. Read them and then tick the \"Do not show this message again\" checkboxes.

Close the window and choose \"Power off the machine\". Start the virtual machine again. This time, you do not get the \"Press any key...\" prompt. The Windows installer should start immediately. Time & currency format: \"Dutch (Belgium)\". Keyboard or input method: \u201cBelgian (Period).

"},{"location":"tutorials/windows-server-2022-virtualbox/install-os/#install-now","title":"Install now","text":"

Notice, you also have a \"repair\" option here... Choose \"Install now\".

"},{"location":"tutorials/windows-server-2022-virtualbox/install-os/#select-os","title":"Select OS","text":"

Choose \"Windows Server 2022 Standard Evaluation (Desktop Experience)\"

"},{"location":"tutorials/windows-server-2022-virtualbox/install-os/#license-agreement","title":"License agreement","text":"

Accept.

"},{"location":"tutorials/windows-server-2022-virtualbox/install-os/#type-of-installation","title":"Type of installation","text":"

Select \u201cCustom: Install Microsoft Server Operating System only (advanced)\".

"},{"location":"tutorials/windows-server-2022-virtualbox/install-os/#installation-location-partitioning","title":"Installation location & partitioning","text":"

There are no partitions yet. Click \"Next\".

"},{"location":"tutorials/windows-server-2022-virtualbox/install-os/#installing","title":"Installing","text":"Step1Step2Step3

Grab a coffee.

The VM reboots for the first time. Virtual UEFI/BIOS won't boot of the ISO image, as it finds a Windows installation on the virtual harddrive.

The VM reboots for the second time.

"},{"location":"tutorials/windows-server-2022-virtualbox/install-os/#account","title":"Account","text":"

Typ a password for the built-in administrator account: \"Admin123\" (do not use in a production environment!)

"},{"location":"tutorials/windows-server-2022-virtualbox/install-os/#finishing","title":"Finishing","text":"

Done! Notice, that there is no \"full screen\" possible yet. Later on, we'll install the \"virtualbox guest additions\" for that.

"},{"location":"tutorials/windows-testlab-virtualbox/","title":"Install a Windows testlab in VirtualBox 6.1.50","text":"

There are several reasons why someone might want to install Windows 11 / Windows Server 2022 lab in a virtual environment. Here are a few possible scenarios:

  • Testing and Evaluation: Installing Windows 11 / Windows Server 2022 in a virtual machine allows you to test the new operating system without affecting your primary computer or existing software setup. It provides a safe environment to evaluate the new features, compatibility with your existing software, and overall performance.

  • Development and Software Testing: If you're a developer or software tester, having a virtual machine with Windows 11 lets you ensure that your software works seamlessly on the latest version of Windows. It allows you to perform compatibility testing, identify and resolve any issues or bugs specific to Windows 11.

  • Learning and Familiarization: Virtual machines provide an excellent platform for learning and familiarizing yourself with a new operating system. By installing Windows 11 / Windows Server 2022 in a virtual machine, you can explore its features, interface, and functionalities, without the risk of making irreversible changes to your main computer.

  • Isolated Environment: Virtual machines offer isolation from the host operating system. If you need to run potentially risky or experimental software, installing Windows 11 in a virtual machine provides a sandboxed environment where any negative effects are contained within the virtual machine. This helps protect your main system from potential harm.

  • Multi-OS Environments: Virtual machines enable you to have multiple operating systems running simultaneously on a single physical computer. If you need to use both Windows 11 and another operating system, such as Linux or an older version of Windows, you can set up a virtual machine to run Windows 11 alongside your primary operating system.

  • Accessibility and Convenience: Running Windows 11 / Windows Server 2022 in a virtual machine can be more convenient for certain tasks. For example, if you require specific software that is only compatible with those OS'es, you can access it easily within the virtual machine without needing to switch between different computers or dual-boot setups.

Overall, installing a Windows 11 / Windows Server 2022 lab environment provides flexibility, safety, and convenience for testing, development, learning, and running specific software in an isolated environment.

"},{"location":"tutorials/windows-testlab-virtualbox/clone-vms/","title":"Clone VMs","text":""},{"location":"tutorials/windows-testlab-virtualbox/clone-vms/#create-vm06","title":"Create VM06","text":"Step1Step2Step3

Right-click on the Windows 11 template and select \"Clone\".

Make sure you're in \"Expert Mode\". Then match the Name, Clone type, Snapshots and Mac Address Policy according to the screenshot.

Cloning in progress.

"},{"location":"tutorials/windows-testlab-virtualbox/clone-vms/#create-vm07","title":"Create VM07","text":"Step1Step2Step3

Right-click on the Windows 11 template and select \"Clone\".

Make sure you're in \"Expert Mode\". Then match the Name, Clone type, Snapshots and Mac Address Policy according to the screenshot.

Cloning in progress.

"},{"location":"tutorials/windows-testlab-virtualbox/clone-vms/#create-vm16","title":"Create VM16","text":"Step1Step2Step3

Right-click on the Windows Server 2022 template and select \"Clone\".

Make sure you're in \"Expert Mode\". Then match the Name, Clone type, Snapshots and Mac Address Policy according to the screenshot.

Cloning in progress.

"},{"location":"tutorials/windows-testlab-virtualbox/clone-vms/#create-vm17","title":"Create VM17","text":"Step1Step2Step3

Right-click on the Windows Server 2022 template and select \"Clone\".

Make sure you're in \"Expert Mode\". Then match the Name, Clone type, Snapshots and Mac Address Policy according to the screenshot.

Cloning in progress.

"},{"location":"tutorials/windows-testlab-virtualbox/clone-vms/#create-vm18","title":"Create VM18","text":"Step1Step2Step3

Right-click on the Windows Server 2022 template and select \"Clone\".

Make sure you're in \"Expert Mode\". Then match the Name, Clone type, Snapshots and Mac Address Policy according to the screenshot.

Cloning in progress.

"},{"location":"tutorials/windows-testlab-virtualbox/configure-vms/","title":"Configure VMs","text":""},{"location":"tutorials/windows-testlab-virtualbox/configure-vms/#nat-configuration","title":"NAT configuration","text":"Step1Step2Step3

Select \"File -> Preferences -> Network\". Click on the + to create a NAT Network.

Right-click -> \"Edit NAT Network\".

  1. Change the \"Network Name\" to \"My_NAT_Network\".
  2. Change the \"Network CIDR\" to \"192.168.10.0/24\" and remove the check \"Supports DHCP\". Close all screens with \"OK\".

"},{"location":"tutorials/windows-testlab-virtualbox/configure-vms/#nat-network-and-shared-folder","title":"NAT network and shared folder","text":"

Configure following steps on VM06, VM07, VM16, VM17 and VM18. The example is for VM06.

Step1Step2Step3

Select VM06. Right-click -> Settings.

Change \"Attached to\" -> \"NAT Network\". Verify that \"Name\" is \"My_NAT_Network\".

Add a shared folder: click on the \"plus-sign\" and configure according to the screenshot.

"},{"location":"tutorials/windows-testlab-virtualbox/configure-windows-server-2022/","title":"Configure Windows Server 2022","text":"

Configure following steps on VM16, VM17 and VM18. The example is for VM16.

"},{"location":"tutorials/windows-testlab-virtualbox/configure-windows-server-2022/#basic-settings-after-sysprep","title":"Basic settings after sysprep","text":"Step1Step2Step3

Start the VM. Configure according to screenshot. Accept the License agreement after clicking \"Next\".

Password for the \"Administrator\" is \"Admin123\". Click \"Finish\". The VM reboots.

Sign in by pressing right Ctrl + Del (\"Administrator\"/\"Admin123\").

"},{"location":"tutorials/windows-testlab-virtualbox/configure-windows-server-2022/#ip-settings","title":"IP settings","text":"Step1Step2Step3Step4Step5

Right-click on Start -> Settings. Select \"Network & internet\" -> \"Change Adapter Options\".

Double-click \"Ethernet\" and click \"Properties\". Double-click \"Internet Protocol Version 4 (TCP/IPv4)\". Configure according to the screenshot.

  • VM16 is 192.168.10.16

  • VM17 is 192.168.10.17

  • VM18 is 192.168.10.18

You get this message. Safely ignore; do nothing. Just close all Windows. It will dissappear automagically.

Verify using a command prompt. Typ \"ipconfig /all\" and check the settings. This is for VM16.

You should be able to \"ping\" your favorite website.

"},{"location":"tutorials/windows-testlab-virtualbox/configure-windows-server-2022/#pc-name","title":"PC name","text":"Step1Step2

Right-click on Start -> System -> Rename this PC. Use CAPITALS. Restart when asked.

  • VM16 is \"DCOPLEIDINGEN\"

  • VM17 is \"FS01\"

  • VM18 is \"FS02\"

Login (\"Administrator\"/\"Admin123\"). Shutdown Windows.

"},{"location":"tutorials/windows-testlab-virtualbox/configure-windows11/","title":"Configure Windows 11","text":"

Configure following steps on VM06 and VM07. The example is for VM06.

"},{"location":"tutorials/windows-testlab-virtualbox/configure-windows11/#basic-settings-after-sysprep","title":"Basic settings after sysprep","text":"Step1Step2Step3Step4Step5

Start the VM. Country: Belgium. Keyboard layout: Belgian (Period). Second keyboard layout: Skip. Connect to a network: \"I don't have internet\". Connect now...: \"Continue with limited setup\". License agreement: accept. Username/passwords:

  • VM06 -> \"guru06\"/\"guru06\"

  • VM07 -> \"guru07\"/\"guru07\"

Enter the password. Acknowledge in het next screen.

  • VM06 -> \"guru06\"/\"guru06\"

  • VM07 -> \"guru07\"/\"guru07\"

Security question1: \"Doggy\" ;-)

Security question2: \"Wevelgem\".

Security question3: \"IT guru\" ;-)

"},{"location":"tutorials/windows-testlab-virtualbox/configure-windows11/#finishing","title":"Finishing","text":"Step1Step2Step3Step4Step5Step6Step7Step8

Location based services: \"No\".

Find my device: \"No\".

Diagnostic data: \"Required only\".

Inking & typing: \"No\".

Tailored experiences: \"No\".

Advertising ID: \"No\".

Installing...

The \"Start Menu\" appears.

"},{"location":"tutorials/windows-testlab-virtualbox/configure-windows11/#ip-settings","title":"IP settings","text":"Step1Step2Step3Step4Step5

Right-click on Start -> Settings.

Select \"Network & internet\". Select \"Ethernet\" and click on the button \"Edit\" next to \"IP assignment\".

Change \"Automatic (DHCP) to \"Manual\" and enable IPv4. Configure the settings according to the screenshot. Click \"Save\".

  • VM06 is 192.168.10.6

  • VM07 is 192.168.10.7

Verify using a command prompt. Typ \"ipconfig /all\" and check the settings. This is for VM06.

You should be able to \"ping\" your favorite website.

"},{"location":"tutorials/windows-testlab-virtualbox/configure-windows11/#pc-name","title":"PC name","text":"Step1Step2

Right-click on Start -> Settings. Select \"About\" and click \"Rename this PC\". Use CAPITALS. Restart when asked.

  • VM06 is \"CL01\"

  • VM07 is \"CL02\"

Login (\"guru06\"/\"guru06\"). Shutdown Windows.

"},{"location":"tutorials/windows-testlab-virtualbox/create-snapshot-clean-install/","title":"Create snapshot clean install","text":"

Configure following steps on VM06, VM07, VM16, VM17 and VM18. The example is for VM06.

Step1Step2Step3Step4

Select \"Machine -> Tools -> Snapshots\".

Select \"Current State\" and click \"Take\". Give a proper name, like \"Clean install\". A good \"Snapshot Description\" can be handy! Adjust accordingly.

If you change \"something\" in this virtual machine, you will get \"Current State (changed)\". Want to revert those changes? Select \"Clean install\" and click \"Restore\". Be sure to clear the checkbox at \"Create a snapshot of the current machine state\" or you'll end up with another snapshot.

You know if the snapshot has been properly restored, if the \"Current State\" equals the \"Clean install\" again.

"},{"location":"tutorials/windows-testlab-virtualbox/final-result/","title":"Final result","text":"

You\u2019ve just learned how to install a Windows client/server testlab in VirtualBox. We have some working base systems, that are fully set up and ready to be used!

Now you\u2019re ready to go on to the next step. Checkout some of my howtos.

Or you could check out some other tutorials.

If you have any questions, comments, or corrections, I\u2019d love to hear from you: jurgen dot lamsens @ telenet dot be.

"},{"location":"tutorials/windows-testlab-virtualbox/getting-started/","title":"Getting started","text":"

Let's get set up! We have to make sure we\u2019ve got all the prerequisites set.

  • a PC (BIOS/UEFI) running Linux Mint 21
  • a VirtualBox installation
  • a Windows 11 template to clone from
  • a Windows Server 2022 template to clone from
"},{"location":"tutorials/windows-testlab-virtualbox/group-vms/","title":"Group VMs","text":""},{"location":"tutorials/windows-testlab-virtualbox/group-vms/#group-the-templates","title":"Group the templates.","text":"Step1Step2

Select the 2 templates. Right-click -> Group.

Right-click on \"New group\" -> Rename Group. Typ \"TEMPLATES\".

"},{"location":"tutorials/windows-testlab-virtualbox/group-vms/#group-windows-11-vms","title":"Group Windows 11 VMs.","text":"Step1Step2

Select VM06 and VM07. Right-click -> Group.

Right-click on \"New group\" -> Rename Group. Typ \"WINDOWS CLIENT\".

"},{"location":"tutorials/windows-testlab-virtualbox/group-vms/#group-windows-server-vms","title":"Group Windows Server VMs.","text":"Step1Step2

Select VM16, VM17 and VM18. Right-click -> Group.

Right-click on \"New group\" -> Rename Group. Typ \"WINDOWS SERVER\".

"},{"location":"tutorials/windows-testlab-virtualbox/group-vms/#result","title":"Result","text":""},{"location":"tutorials/windows11-linuxmint21-dual-boot-bios-clonezilla/","title":"Install a Windows 11 & Linux Mint 21 dual boot LAB-PC (BIOS) with local Clonezilla backup & restore","text":"

Cisco hands-on labs are a learning resource provided by Cisco Systems, a well-known networking and IT infrastructure company. These labs are designed to offer practical, real-world experience in working with Cisco networking equipment and technologies. They are particularly valuable for individuals preparing for Cisco certifications, such as Cisco's CCNA (Cisco Certified Network Associate) or CCNP (Cisco Certified Network Professional) exams, as well as for IT professionals who want to gain hands-on experience with Cisco products and solutions.

This tutorial guides you through the relevant steps that are required to initialise and install a physical LAB PC, with a local Clonezilla restore option. You\u2019ll go from an empty computer to to a fully configured Windows/Linux dual-boot environment.

Clonezilla is a free and open-source disk cloning and imaging software that allows you to create backup copies of entire disk drives or partitions. Done experimenting? System crash? Hardware failure? Malware infection? Recover your system in its entirety back to a clean state.

Overview1Overview2Overview3Overview4Overview5

All Windows.

All Linux.

Choose your OS at the GRUB boot menu.

All restoring.

Workflow.

"},{"location":"tutorials/windows11-linuxmint21-dual-boot-bios-clonezilla/activate-windows/","title":"Activate windows","text":"

Windows uses a system called Product Activation to ensure that it is only installed and used on one device at a time. Activation is closely tied to the hardware of the machine, including details like the motherboard, CPU, and other components. When you restore a system image to a different machine, Windows detects that the hardware has changed significantly. Those changes in hardware often trigger a reactivation requirement.

"},{"location":"tutorials/windows11-linuxmint21-dual-boot-bios-clonezilla/activate-windows/#boot-into-windows","title":"Boot into Windows","text":"Step1Step2

Choose \"Windows 11 Pro 22H2\" at the GRUB boot menu.

Windows detects that the hardware has changed significantly.

"},{"location":"tutorials/windows11-linuxmint21-dual-boot-bios-clonezilla/activate-windows/#activation","title":"Activation","text":"Step1Step2Step3

Click on the \"Start\" button. Then click on the gear icon labeled \"Settings\" to open the Settings app.

In the Settings app, click on the \"System\" category.

On the right, click on the \"Activation\" option. This will open the Activation page where you can view the activation status. Here it says: \"Windows is activated with a digital license\". This is because we have \"internet access\" so Windows could re-activate. Consult official Microsoft documentation for your situation.

"},{"location":"tutorials/windows11-linuxmint21-dual-boot-bios-clonezilla/configure-bios-vs-uefi/","title":"Configure BIOS/UEFI","text":""},{"location":"tutorials/windows11-linuxmint21-dual-boot-bios-clonezilla/configure-bios-vs-uefi/#turn-on-the-computer","title":"Turn on the computer","text":"

Turn on or restart your computer and watch for a message during the POST about a particular key, usually Del or a function key like F2 (e.g. Fujitsu Esprimo PC) that you'll need to press to access the BIOS/UEFI setup utility. It's possible, you won't see such message at all, but a vendor splash screen instead. Specifics vary from computer to computer. Consult your hardware manual.

"},{"location":"tutorials/windows11-linuxmint21-dual-boot-bios-clonezilla/configure-bios-vs-uefi/#enter-the-biosuefi-setup-utility","title":"Enter the BIOS/UEFI Setup Utility","text":"

After pressing the correct keyboard command, you'll enter the BIOS/UEFI Setup Utility.

"},{"location":"tutorials/windows11-linuxmint21-dual-boot-bios-clonezilla/configure-bios-vs-uefi/#select-the-boot-mode","title":"Select the boot mode","text":"Step1Step2

In this tutorial, we do not use UEFI, but BIOS-mode. For e.g. a \"Fujitsu Esprimo PC\", select \"Boot-> CSM Configuration\".

Make sure \"Launch CSM\" is enabled and configure Legacy only for all options.

"},{"location":"tutorials/windows11-linuxmint21-dual-boot-bios-clonezilla/configure-bios-vs-uefi/#secure-boot","title":"Secure boot","text":"Step1Step2

Navigate to \"Security -> Secure boot\".

Make sure \"secure boot\" is disabled.

"},{"location":"tutorials/windows11-linuxmint21-dual-boot-bios-clonezilla/configure-bios-vs-uefi/#saveconfirm-your-changes-and-exit","title":"Save/confirm your changes and exit","text":"

Exit the utility and save changes.

"},{"location":"tutorials/windows11-linuxmint21-dual-boot-bios-clonezilla/configure-bios-vs-uefi/#shutdown","title":"Shutdown","text":"

If there is an operating system on the harddisk, it may or may not boot. If there is no operating system on the the harddisk, the sytem tries to PXE boot. Anyway, shutdown the PC by pressing the \"power button\".

"},{"location":"tutorials/windows11-linuxmint21-dual-boot-bios-clonezilla/configure-linuxmint21/","title":"Configure Linux Mint 21","text":""},{"location":"tutorials/windows11-linuxmint21-dual-boot-bios-clonezilla/configure-linuxmint21/#login","title":"Login","text":"Step1Step2

Login with \"guru\", password \"guru\" at the \"MDM Login Manager\" (MDM = Mint Display Manager).

You're greeted with a \"Welcome screen\". Take a look around and then remove the check \"Show this dialog at startup\".

"},{"location":"tutorials/windows11-linuxmint21-dual-boot-bios-clonezilla/configure-linuxmint21/#configure-update-mirror","title":"Configure update mirror","text":"Step1Step2Step3Step4Step5Step6Step7

Go to \"Menu -> Administration -> Update Manager\".

Read the text and click \"OK\".

Let's use a local mirror for fast downloads. Click \"Yes\" in the blue bar.

Authenticate with the \"guru\" password.

Click in the field \"Main (...)\". Another window appears. Select the repository with the fastest speed. In this case, let's choose LiteServer and click \"Apply\".

After changing the \"repository mirror\", the APT cache has to be updated. Click \"OK\".

Close the \"Software sources\" window and proceed with the updates. In this case, a new version of the \"Update Manager\" is available. Apply the update. Again, the password of \"guru\" is asked.

"},{"location":"tutorials/windows11-linuxmint21-dual-boot-bios-clonezilla/configure-linuxmint21/#install-updates","title":"Install updates","text":"Step1Step2Step3Step4Step5

A list of available updates is presented. Select \"Install Updates\".

Confirm the (possible) message concerning additional changes. Again, the password of \"guru\" is asked.

Finally, all updates get downloaded and installed. Grab another coffee!

When the system is up-to-date, reboot the PC.

Login. Start the \"Update manager\" again and click \"Refresh\". Your system should be up-to-date.

"},{"location":"tutorials/windows11-linuxmint21-dual-boot-bios-clonezilla/configure-linuxmint21/#system-reports","title":"System reports","text":"Step1Step2Step3

Go to \"Menu -> Administration -> System Reports\".

Ignore the reports concerning the \"language packs\" and \"the system restore utility\".

No problems detected? Done!

"},{"location":"tutorials/windows11-linuxmint21-dual-boot-bios-clonezilla/configure-linuxmint21/#applications-optional","title":"Applications (optional)","text":"
  • Install Google Chrome browser
  • Install Wireshark
  • Acquire a valid Cisco IOS image
  • Install tFTP
  • Install minicom
"},{"location":"tutorials/windows11-linuxmint21-dual-boot-bios-clonezilla/configure-linuxmint21/#cleanup","title":"Cleanup","text":"Step1Step2Step3Step4Step5Step6

Let's set a nice background.

Click Menu -> Preferences -> Power Management. Change both \"Power Options\" to \"Never\".

Clear Chrome/Firefox browser history.

Clear bash history.

Empty trash.

Desktop shortcuts: Firefox, Chrome, Wireshark. Panel shortcuts: Files, Firefox, Chrome, Terminal.

"},{"location":"tutorials/windows11-linuxmint21-dual-boot-bios-clonezilla/configure-windows11/","title":"Configure Windows 11","text":""},{"location":"tutorials/windows11-linuxmint21-dual-boot-bios-clonezilla/configure-windows11/#activation","title":"Activation","text":"Step1Step2Step3

Click on the \"Start\" button. Then click on the gear icon labeled \"Settings\" to open the Settings app.

In the Settings app, click on the \"System\" category.

On the right, click on the \"Activation\" option. This will open the Activation page where you can view the activation status. Here it says: \"Windows is activated with a digital license\". Consult official Microsoft documentation for your situation.

"},{"location":"tutorials/windows11-linuxmint21-dual-boot-bios-clonezilla/configure-windows11/#device-drivers","title":"Device drivers","text":"Step1Step2

For a \"Fujitsu Esprimo E920\", some hardware is not yet properly recognized. Specifics vary from computer to computer.

The correct drivers - even for Windows 11 - can only be found when \"Windows 10 (64-bit) Version 1506\" is selected in the dropdown box. When the \"chipset software installation utility\" was downloaded and installed, all hardware was properly recognized.

"},{"location":"tutorials/windows11-linuxmint21-dual-boot-bios-clonezilla/configure-windows11/#updates","title":"Updates","text":"Step1Step2Step3Step4Step5Step6Step7Step8

Click on the \"Start\" button. Then click on the gear icon labeled \"Settings\" to open the Settings app.

In the Settings app, click on the \"Windows Update\" category.

On the Windows Update page, click on the \"Check for updates\" button. This will initiate a check for available updates for your Windows 11 installation.

If any updates are found, downloading begins automatically. After the updates are downloaded, Windows may prompt you to restart your computer to install them. Reboot.

Once your computer restarts, Windows will automatically install the downloaded updates. This process may take some time, and your computer may restart multiple times during the installation.

After the initial set of updates is installed, it's a good idea to check for updates again to ensure that your system is fully up to date. Repeat previous steps to check for any additional updates that may be available.

Once all the updates are installed, you can verify the Windows 11 version and update status by going to the Settings app, clicking on the \"System\" category, and then selecting \"About\". Here, you can see the installed version of Windows 11 and confirm that your system is up to date.

As this is a lab environment, \"disable\" the automatic updates for now; click \"Start\", type \"services.msc\" and select the \"Services\" app. In the Services window, scroll down and locate the \"Windows Update\" service. Right-click on \"Windows Update\" and select \"Properties\" from the context menu. In the Properties window, under the \"General\" tab, locate the \"Startup type\" dropdown menu. Change the startup type to \"Disabled\". Click on \"OK\" to save the changes and close the window.

"},{"location":"tutorials/windows11-linuxmint21-dual-boot-bios-clonezilla/configure-windows11/#power","title":"Power","text":"Step1Step2

In the \"Settings\" app, choose \"Power\".

As this is a lab computer, make sure the monitor and device never go to sleep.

"},{"location":"tutorials/windows11-linuxmint21-dual-boot-bios-clonezilla/configure-windows11/#copy-iso-files","title":"Copy ISO files","text":"

In order to create some installation media with Rufus when we're offline later on, copy over the ISO files you need.

"},{"location":"tutorials/windows11-linuxmint21-dual-boot-bios-clonezilla/configure-windows11/#applications-optional","title":"Applications (optional)","text":"
  • Install Rufus on Windows 11 -> make USB-key to download GRUB and syslinux
  • Install Putty on Windows 11
  • Install Teraterm on Windows 11
  • Install WinSCP on Windows 11
  • Install Wireshark on Windows 11 -> download ONLY
  • Install Chrome on Windows 11
  • Install Firefox on Windows 11
"},{"location":"tutorials/windows11-linuxmint21-dual-boot-bios-clonezilla/configure-windows11/#cleanup-final-restart","title":"Cleanup + final restart","text":"Step1Step2Step3Step4Step5

Configure desktop shortcuts.

Empty the recycle bin.

Right-click \"Start -> Settings\".\" Click on \"Personalization -> Start\". Uncheck all settings.

Reboot the PC for the last time, to make sure all remaining updates are properly installed/configured.

Start a command prompt and execute \"ipconfig /flushdns\" followed by \"ipconfig /release\" and unplug the UTP cable.

"},{"location":"tutorials/windows11-linuxmint21-dual-boot-bios-clonezilla/configure-windows11/#shutdown1-and-power-up","title":"Shutdown1 and power-up","text":"

Shutdown the PC. Power on the PC. It is possible that some last \"updates\" are getting configured.

"},{"location":"tutorials/windows11-linuxmint21-dual-boot-bios-clonezilla/configure-windows11/#shutdown2-and-reconnect-the-network","title":"Shutdown2 and reconnect the network.","text":"

Finally, login and shutdown Windows 11 for the last time. Reconnect the UTP network cable now (but do not boot into Windows anymore).

"},{"location":"tutorials/windows11-linuxmint21-dual-boot-bios-clonezilla/create-clonezilla-network-backup/","title":"Create Clonezilla network backup","text":"

Let's take an image of our \"gold PC\" to a storage PC using SSH.

"},{"location":"tutorials/windows11-linuxmint21-dual-boot-bios-clonezilla/create-clonezilla-network-backup/#step1-8","title":"Step1 -> 8","text":"Step1Step2Step3Step4Step5Step6Step7Step8

Insert a Clonezilla USB flash drive. Make sure the monitor is \"on\". Reboot the PC. In this case a \"Fujitsu Esprimo\", press F12 once at the \"Fujitsu splash screen\" and wait. Specifics vary from computer to computer. Consult your hardware manual.

You get the \"boot menu\". Select the USB flash drive to boot from.

Select the first option.

English language.

Change keyboard layout.

Generic 105-key PC.

This is personal; I choose \"Belgian\".

This is personal; \"Belgian\" keyboard layout.

"},{"location":"tutorials/windows11-linuxmint21-dual-boot-bios-clonezilla/create-clonezilla-network-backup/#step9-16","title":"Step9 -> 16","text":"Step9Step10Step11Step12Step13Step14Step15Step16

Leave default.

Leave default.

Leave default.

We will clone the disk to an image.

The image will be stored on a SSH server.

Depending on your network; I choose \"DHCP\".

My SSH server is at 192.168.1.105

The SSH service listens at port 22.

"},{"location":"tutorials/windows11-linuxmint21-dual-boot-bios-clonezilla/create-clonezilla-network-backup/#step17-24","title":"Step17 -> 24","text":"Step17Step18Step19Step20Step21Step22Step23Step24

There is a regular user \"guru\" on the SSH server.

The image will be stored in guru's homedirectory, in an existing subdirectory \"Downloads/DUMPS\".

Read the message.

Acknowledge that you want to make a connection.

Enter the password for user \"guru\".

With a correct password, the remote folder gets mounted locally.

Select \"Beginner\".

We will save the local disk to an image.

"},{"location":"tutorials/windows11-linuxmint21-dual-boot-bios-clonezilla/create-clonezilla-network-backup/#step25-34","title":"Step25 -> 34","text":"Step25Step26Step27Step28Step29Step30Step31Step32Step33Step34

Give a meaningful name.

The local disk \"sda\" is the source disk.

Select the \"-z9p\" compression option.

Skip checking the source file system.

Skip checking the saved image.

No need for encryption here.

Poweroff the PC when the dump is completed.

Notice the command with all the options. Press Enter to begin.

Confirm \"y\" to continue.

Grab a coffee. This can take a while. The PC will be powered off at the end.

"},{"location":"tutorials/windows11-linuxmint21-dual-boot-bios-clonezilla/create-local-clonezilla-dump/","title":"Create local Clonezilla dump","text":"

Finally, let's make a local backup available on the storage partition, ready to be restored.

"},{"location":"tutorials/windows11-linuxmint21-dual-boot-bios-clonezilla/create-local-clonezilla-dump/#step1-8","title":"Step1 -> 8","text":"Step1Step2Step3Step4Step5Step6Step7Step8

Insert a Clonezilla USB flash drive. Make sure the monitor is \"on\". Reboot the PC. In this case a \"Fujitsu Esprimo\", press F12 once at the \"Fujitsu splash screen\" and wait. Specifics vary from computer to computer. Consult your hardware manual.

You get the \"boot menu\". Select the USB flash drive to boot from.

Select the first option.

English language.

Change keyboard layout.

Generic 105-key PC.

This is personal; I choose \"Belgian\".

This is personal; \"Belgian\" keyboard layout.

"},{"location":"tutorials/windows11-linuxmint21-dual-boot-bios-clonezilla/create-local-clonezilla-dump/#step9-16","title":"Step9 -> 16","text":"Step9Step10Step11Step12Step13Step14Step15Step16

Leave default.

Leave default.

Leave default.

We will clone the disk to an image.

The image will be stored on the local disk.

X.

X

X.

"},{"location":"tutorials/windows11-linuxmint21-dual-boot-bios-clonezilla/create-local-clonezilla-dump/#step17-24","title":"Step17 -> 24","text":"Step17Step18Step19Step20Step21Step22Step23Step24

X.

X.

X.

X.

X.

X.

X.

X.

"},{"location":"tutorials/windows11-linuxmint21-dual-boot-bios-clonezilla/create-storage-partition/","title":"Create storage partition","text":"

A local storage partition will be used, to hold the clonezilla backup of all other partitions.

"},{"location":"tutorials/windows11-linuxmint21-dual-boot-bios-clonezilla/create-storage-partition/#check-partition-number-and-unallocated-disk-space","title":"Check partition number and unallocated disk space","text":"guru@lab:~$_output
sudo parted -s /dev/sda unit s print free\n

The extended partition has number 4 and ends at sector 1702858751. There is some unallocated disk space available.

guru@lab:~$ sudo parted -s /dev/sda unit s print free\nModel: ATA ST1000DM003-1CH1 (scsi)\nDisk /dev/sda: 1953525168s\nSector size (logical/physical): 512B/4096B\nPartition Table: msdos\nDisk Flags: \n\nNumber  Start        End          Size        Type      File system     Flags\n        63s          2047s        1985s                 Free Space\n1      2048s        206847s      204800s     primary   ntfs            boot\n2      206848s      837578751s   837371904s  primary   ntfs\n3      837578752s   838858751s   1280000s    primary   ntfs            msftres\n        838858752s   838860797s   2046s                 Free Space\n4      838860798s   1702858751s  863997954s  extended\n5      838860800s   902858751s   63997952s   logical   linux-swap(v1)\n6      902860800s   1702858751s  799997952s  logical   ext4\n        1702858752s  1953525167s  250666416s            Free Space\n\nguru@lab:~$ \n
"},{"location":"tutorials/windows11-linuxmint21-dual-boot-bios-clonezilla/create-storage-partition/#expand-and-verify-extended-partition","title":"Expand and verify extended partition","text":"guru@lab:~$_output

This is an interactive command. See output.

sudo parted /dev/sda\n
guru@lab:~$ sudo parted /dev/sda\n[sudo] password for guru:     \nGNU Parted 3.4\nUsing /dev/sda\nWelcome to GNU Parted! Type 'help' to view a list of commands.\n(parted) resizepart 4                                                     \nWarning: Partition /dev/sda4 is being used. Are you sure you want to continue?\nYes/No? Yes                                                               \nEnd?  [872GB]? -0                                                         \n(parted) quit                                                             \nInformation: You may need to update /etc/fstab.\nguru@lab:~$\n
"},{"location":"tutorials/windows11-linuxmint21-dual-boot-bios-clonezilla/create-storage-partition/#create-partition","title":"Create partition","text":"

We'll use all remaining unallocated (free) space. First use the sector found in step one. This will fail. See output.

guru@lab:~$_output
sudo parted -s /dev/sda mkpart logical ext4 1702858752s -- -1s      <--- fails\nsudo parted -s /dev/sda mkpart logical ext4 1702858753s -- -1s      <--- OK\n
guru@lab:~$ sudo parted -s /dev/sda mkpart logical ext4 1702858752s -- -1s\nError: You requested a partition from 872GB to 1000GB (sectors 1702858752..1953525167).\nThe closest location we can manage is 872GB to 1000GB (sectors 1702858753..1953525167).\n\nguru@lab:~$ sudo parted -s /dev/sda mkpart logical ext4 1702858753s -- -1s\nWarning: The resulting partition is not properly aligned for best performance: 1702858753s % 2048s != 0s\nguru@lab:~$ \n
"},{"location":"tutorials/windows11-linuxmint21-dual-boot-bios-clonezilla/create-storage-partition/#create-filesystem","title":"Create filesystem","text":"

Just create it. No need to mount it.

guru@lab:~$_output
sudo mkfs.ext4 /dev/sda7\n
guru@lab:~$ sudo mkfs.ext4 /dev/sda7\nmke2fs 1.46.5 (30-Dec-2021)\n/dev/sda7 alignment is offset by 3584 bytes.\nThis may result in very poor performance, (re)-partitioning suggested.\nCreating filesystem with 31333301 4k blocks and 7839744 inodes\nFilesystem UUID: 4d53f383-64b7-4aa7-9093-b3829e27c1f4\nSuperblock backups stored on blocks: \n    32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, \n    4096000, 7962624, 11239424, 20480000, 23887872\n\nAllocating group tables: done                            \nWriting inode tables: done                            \nCreating journal (131072 blocks): done\nWriting superblocks and filesystem accounting information: done   \n\nguru@lab:~$ \n
"},{"location":"tutorials/windows11-linuxmint21-dual-boot-bios-clonezilla/final-result/","title":"Final result","text":"

You\u2019ve just learned how to install a Windows 11 / Linux Mint 21 dual boot system with local clonezilla restore. We have a working base system, that is fully set up and ready to be used as a LAB environment!

Now you\u2019re ready to go on to the next step. Checkout some of my howtos.

Or you could check out some other tutorials.

If you have any questions, comments, or corrections, I\u2019d love to hear from you: jurgen dot lamsens @ telenet dot be.

"},{"location":"tutorials/windows11-linuxmint21-dual-boot-bios-clonezilla/getting-started/","title":"Getting started","text":"

Let's get set up! We have to make sure we\u2019ve got all the prerequisites set.

  • lab PC's (BIOS) that can run Windows 11 and Linux Mint 21 (RAM, storage, CPU)
  • serial COM port or USB-A port
  • monitor, keyboard and mouse
  • can boot from a USB flash drive
  • network/internet access
  • 3 USB flash drives
  • storage PC with SSH access
"},{"location":"tutorials/windows11-linuxmint21-dual-boot-bios-clonezilla/grub-configuration/","title":"GRUB configuration","text":"

Let's create a nice and simple boot menu with 3 choices.

"},{"location":"tutorials/windows11-linuxmint21-dual-boot-bios-clonezilla/grub-configuration/#download-clonezilla","title":"Download Clonezilla","text":"Step1Step2Step3Step4Step5

Use your favorite search engine to search for \"Clonezilla\" and choose the official website.

Choose the \"Ubuntu-based alternative stable\" version.

Make sure the CPU archictecture is \"amd64\" and the file type is \"iso\". Click \"Download\".

The file will be downloaded to the \"Downloads\" folder.

Create a directory \"ISO\" and move the file into that directory.

"},{"location":"tutorials/windows11-linuxmint21-dual-boot-bios-clonezilla/grub-configuration/#remove-grub-countdown-timer","title":"Remove GRUB countdown timer","text":"guru@lab:~$_output
sudo sed -i 's/GRUB_TIMEOUT=10/GRUB_TIMEOUT=-1/g' /etc/default/grub\n
guru@lab:~$ sudo sed -i 's/GRUB_TIMEOUT=10/GRUB_TIMEOUT=-1/g' /etc/default/grub\n[sudo] password for guru:     \nguru@lab:~$ \n
"},{"location":"tutorials/windows11-linuxmint21-dual-boot-bios-clonezilla/grub-configuration/#custom-configuration","title":"Custom configuration","text":"step1step2step3step4step5step6astep6b

Open /etc/grub.d/40_custom in an editor (as root)

sudo xed /etc/grub.d/40_custom &\n

Open /boot/grub/grub.cfg in an editor (as non-root user)

xed /boot/grub/grub.cfg &\n

Copy over the \"Linux part\".

Copy over the \"Windows part\". Then close grub.cfg, we don't need that file anymore.

Add \"empty menu\" entry.

Copy this text to paste later on.

menuentry 'Restore CLEAN INSTALL' {\n    set isofile=\"/home/guru/Downloads/ISO/clonezilla-live-20230426-lunar-amd64.iso\"\n    loopback loop $isofile\n    linux (loop)/live/vmlinuz boot=live union=overlay username=user config components quiet noswap nolocales edd=on nomodeset ocs_prerun=\\\"mount /dev/sda7 /home/partimag\\\" ocs_live_run=\\\"/usr/sbin/ocs-sr --batch -e1 auto -e2 -t -r -j2 -k -scr -p poweroff restoreparts win-lin sda1 sda2 sda3 sda4 sda5 sda6\\\" ocs_live_extra_param=\\\"\\\" keyboard-layouts=\\\"NONE \\\" ocs_live_batch=\\\"yes\\\" locales= vga=788 ip=frommedia nosplash toram=filesystem.squashfs findiso=$isofile\n    initrd (loop)/live/initrd.img\n}\n

Add \"Clonezilla restore\" entry.

"},{"location":"tutorials/windows11-linuxmint21-dual-boot-bios-clonezilla/grub-configuration/#adjust-file-permissions","title":"Adjust file permissions","text":"guru@lab:~$_output
cd /etc/grub.d/\nsudo chmod -x *\nsudo chmod +x 00* 05* 40*\nls -lh\n
guru@lab:~$ cd /etc/grub.d\nguru@lab:/etc/grub.d$ sudo chmod -x *\nguru@lab:/etc/grub.d$ sudo chmod +x 00* 05* 40*\nguru@lab:/etc/grub.d$ ls -lh\ntotal 136K\n-rwxr-xr-x 1 root root  11K Dec 18  2022 00_header\n-rwxr-xr-x 1 root root 6,2K Dec  2  2022 05_debian_theme\n-rw-r--r-- 1 root root  19K Dec 18  2022 10_linux\n-rw-r--r-- 1 root root  43K Dec 18  2022 10_linux_zfs\n-rw-r--r-- 1 root root  15K Dec 18  2022 20_linux_xen\n-rw-r--r-- 1 root root  14K Dec 18  2022 30_os-prober\n-rw-r--r-- 1 root root 1,4K Dec 18  2022 30_uefi-firmware\n-rw-r--r-- 1 root root  700 Sep 20  2022 35_fwupd\n-rwxr-xr-x 1 root root 2,8K Oct 11 13:26 40_custom\n-rw-r--r-- 1 root root  215 Dec 18  2022 41_custom\n-rw-r--r-- 1 root root  483 Dec 18  2022 README\nguru@lab:/etc/grub.d$ \n
"},{"location":"tutorials/windows11-linuxmint21-dual-boot-bios-clonezilla/grub-configuration/#regenerate-grub-configuration","title":"Regenerate GRUB configuration","text":"guru@lab:~$_output
sudo update-grub\n
guru@lab:~$ sudo update-grub\n[sudo] password for guru:     \nSourcing file `/etc/default/grub'\nSourcing file `/etc/default/grub.d/50_linuxmint.cfg'\nSourcing file `/etc/default/grub.d/init-select.cfg'\nGenerating grub configuration file ...\ndone\nguru@lab:~$ \n
"},{"location":"tutorials/windows11-linuxmint21-dual-boot-bios-clonezilla/install-linuxmint21/","title":"Install Linux Mint 21","text":""},{"location":"tutorials/windows11-linuxmint21-dual-boot-bios-clonezilla/install-linuxmint21/#boot-from-usb","title":"Boot from USB","text":"Step1Step2Step3Step4

Insert the Linux Mint 21 USB flash drive. Make sure the monitor is \"on\". Start the PC. In this case (Fujitusu Esprimo PC), press F12 once at the \"Fujitsu splash screen\" and wait. Specifics vary from computer to computer. Consult your hardware manual.

You get the \"boot menu\". Select the USB flash drive to boot from.

Select the first option at the GRUB menu.

You're in the live-environment.

"},{"location":"tutorials/windows11-linuxmint21-dual-boot-bios-clonezilla/install-linuxmint21/#languagekeyboardcodecs","title":"Language/keyboard/codecs","text":"Step1Step2Step3

Doubleclick on \"Install Linux Mint\". Select \"English\".

Keyboard layout: Belgian/Belgian. Test some characters in the test field.

Install the multimedia codecs.

"},{"location":"tutorials/windows11-linuxmint21-dual-boot-bios-clonezilla/install-linuxmint21/#installation-typepartioning","title":"Installation type/partioning","text":"Step1Step2Step3Step4Step5Step6

In UEFI-mode, the Linux Mint 21.x installer finds the \"Windows 11 installation\", but for one reason or another (bug?) not in BIOS (non-CSM) mode (in this case). Nevermind. Just select \"Something else\" (after installation, GRUB will find the \"Windows 11 installation\" anyway).

Let's manually create partitions. First, select the \"free space\" at the bottom and click on the + sign. Make sure \"Numlock\" is active (check the LED, if any). Create a \"swap partition\" of size 32 GB (32468 MB). Look at the screenshot.

Again, select the \"free space\" at the bottom and click on the + sign. Create a \"root partition\" of size 400 GB (409600 MB).

We still have some free space left. This is for the Clonezilla dump later. Verify that the \"Linux boot loader\" will be installed on /dev/sda. Click \"Install now\".

I don't know why the installer complains about an EFI partition, as we are booted in BIOS-mode (non-CSM). Bug? Just click \"Continue\".

Read, comprehend and acknowledge the message.

"},{"location":"tutorials/windows11-linuxmint21-dual-boot-bios-clonezilla/install-linuxmint21/#installing","title":"Installing","text":"Step1Step2Step3Step4Step5

In this case, \"Brussels\" will be suggested as location.

Your name: guru. Computer name: lab. Username: guru. Password: guru.

Enjoy the slideshow.

The installation is finished. Select \"Restart Now\".

Remove the USB flash drive and press Enter.

"},{"location":"tutorials/windows11-linuxmint21-dual-boot-bios-clonezilla/install-linuxmint21/#finishing","title":"Finishing","text":"

After reboot, you have a menu where you can choose between \"Linux Mint 21.x Cinnamon\" and \"Windows Recovery Environment\" (this name is not correctly identified, must be a bug?). There is a counter from 10s to 0s. Make your choice in time. By default, \"Linux Mint\" gets started.

"},{"location":"tutorials/windows11-linuxmint21-dual-boot-bios-clonezilla/install-windows11/","title":"Install Windows 11","text":""},{"location":"tutorials/windows11-linuxmint21-dual-boot-bios-clonezilla/install-windows11/#boot-from-usb","title":"Boot from USB","text":"Step1Step2

Insert the Windows 11 USB flash drive you just created. Make sure the monitor is \"on\". Start the PC. In this case a \"Fujitsu Esprimo\", press F12 once at the \"Fujitsu splash screen\" and wait. Specifics vary from computer to computer. Consult your hardware manual.

You get the \"boot menu\". Select the USB flash drive to boot from.

"},{"location":"tutorials/windows11-linuxmint21-dual-boot-bios-clonezilla/install-windows11/#bypass-checks","title":"Bypass checks","text":"

Windows 11 has specific hardware requirements, including the need for TPM version 2.0 and certain CPU/RAM requirements. A \"Fujitsu Esprimo E900\" does not meet these requirements, but is more than enough for a lab environment, so let's bypass these checks.

Step1Step2Step3Step4

Press Shift F10 to open up a command prompt. Typ \"regedit\" and press Enter The registry editor opens.

Navigate to \"HKEY_LOCAL_MACHINE\\SYSTEM\\Setup\", right-click on the \"Setup\" key and select \"New -> Key\". Give this key the name \"LabConfig\" (be aware: qwerty!)

Select \"New -> DWORD (32-bit)\". Give this \"Value\" the name \"BypassTPMCheck\". Doubleclick on this value and change the \"Value data\" from 0 to 1.

Do the same for \"BypassRAMCheck\" and \"BypassSecureBootCheck\". Compare with the screenshot below. Close the registry editor and command prompt windows.

"},{"location":"tutorials/windows11-linuxmint21-dual-boot-bios-clonezilla/install-windows11/#time-and-currency-format","title":"Time and currency format","text":"

Dutch (Belgium). Keyboard or input method: \u201cBelgian (Period).

"},{"location":"tutorials/windows11-linuxmint21-dual-boot-bios-clonezilla/install-windows11/#install-now","title":"Install now","text":"

Notice, you also have a \"repair\" option here... Choose \"Install now\".

"},{"location":"tutorials/windows11-linuxmint21-dual-boot-bios-clonezilla/install-windows11/#license-agreement","title":"License agreement","text":"

Accept.

"},{"location":"tutorials/windows11-linuxmint21-dual-boot-bios-clonezilla/install-windows11/#type-of-installation","title":"Type of installation","text":"

Select \u201cCustom: Install Windows only (advanced)\".

"},{"location":"tutorials/windows11-linuxmint21-dual-boot-bios-clonezilla/install-windows11/#installation-location-partitioning","title":"Installation location & partitioning","text":"Step1Step2Step3Step4

Delete all partitions first, if any.

Make sure \"Num Lock\" is activated on your keyboard (check the LED if possible). Select \"New\" and create a partition of 400 GB (409600 MB) and click \"apply\".

Read and comprehend the message.

Windows creates additional partitions. Notice, there is some \"Unallocated space\" left. This is for the Linux installation and Clonezilla dump later on. Select \"Drive 0 Partition 2\" for the Windows installation.

"},{"location":"tutorials/windows11-linuxmint21-dual-boot-bios-clonezilla/install-windows11/#installing","title":"Installing","text":"Step1Step2

Grab a coffee.

The PC reboots for the first time. UEFI/BIOS won't boot of the USB flash drive, as it finds a Windows installation on the (hard)drive.

"},{"location":"tutorials/windows11-linuxmint21-dual-boot-bios-clonezilla/install-windows11/#configuration","title":"Configuration","text":"Step1Step2Step3Step4Step5Step6

Personal preference here. I select \"Belgium\".

Personal preference here. I select \"Belgian (Period)\".

Select \"Skip\"

Enter a computername. In this case \"lab\".

Windows reboots for the 2nd time.

The presence or absence of the \"Let's connect you to a network\" screen during the installation of Windows 11 22H2 can depend on various factors. If you get this screen, choose \"Next\".

"},{"location":"tutorials/windows11-linuxmint21-dual-boot-bios-clonezilla/install-windows11/#account","title":"Account","text":"Step1Step2Step3Step4Step5Step6Step7Step8Step9Step10Step11

Select \"Set up for personal use\".

Read and comprehend the concept \"Microsoft account\". We do not want such an account for now. Previous versions allowed for a \"local/offline account\", via \"Sign-in options\". Starting of Windows 11 22H2, it does not work anymore. Use this trick: select \"Sign in\".

Enter the random e-mailaddress \"no@thankyou.com\"

Enter \"whatever\" as password and select \"Sign in\".

You get an error. Nevermind. Just select \"Next\".

Login: guru

Password: guru

Acknowlege the password: guru

Security question1: Doggy

Security question2: Wevelgem

Security question3: IT guru

"},{"location":"tutorials/windows11-linuxmint21-dual-boot-bios-clonezilla/install-windows11/#finishing","title":"Finishing","text":"Step1Step2Step3Step4Step5Step6Step7Step8Step9

Location-based experiences: no.

Find my device: no.

Send diagnostic data: Required only.

Improving inking & typing: no.

Get tailored experiences: no.

Advertising id: no.

Updates.

Almost ready.

Installation done!

"},{"location":"tutorials/windows11-linuxmint21-dual-boot-bios-clonezilla/prepare-installation-media/","title":"Prepare installation media","text":"

Follow these howto's to create the installation media.

  • Windows 11 bootable USB flash drive (option: \"For BIOS (or UEFI-CSM)\")
  • Linux Mint 21 bootable USB flash drive (option: \"For BIOS (or UEFI-CSM)\")
  • Clonezilla bootable USB flash drive (todo)
"},{"location":"tutorials/windows11-linuxmint21-dual-boot-bios-clonezilla/restore-clonezilla-network-backup/","title":"Restore Clonezilla network backup","text":"

Now let's restore the image saved on the \"storage PC\" to another \"lab PC\" using SSH.

"},{"location":"tutorials/windows11-linuxmint21-dual-boot-bios-clonezilla/restore-clonezilla-network-backup/#step1-8","title":"Step1 -> 8","text":"Step1Step2Step3Step4Step5Step6Step7Step8

Insert a Clonezilla USB flash drive. Make sure the monitor is \"on\". Reboot the PC. In this case a \"Fujitsu Esprimo\", press F12 once at the \"Fujitsu splash screen\" and wait. Specifics vary from computer to computer. Consult your hardware manual.

You get the \"boot menu\". Select the USB flash drive to boot from.

Select the first option.

English language.

Change keyboard layout.

Generic 105-key PC.

This is personal; I choose \"Belgian\".

This is personal; \"Belgian\" keyboard layout.

"},{"location":"tutorials/windows11-linuxmint21-dual-boot-bios-clonezilla/restore-clonezilla-network-backup/#step9-16","title":"Step9 -> 16","text":"Step9Step10Step11Step12Step13Step14Step15Step16

Leave default.

Leave default.

Leave default.

We will restore the disk from an image.

The image will be restored from a SSH server.

Depending on your network; I choose \"DHCP\".

My SSH server is at 192.168.1.105

The SSH service listens at port 22.

"},{"location":"tutorials/windows11-linuxmint21-dual-boot-bios-clonezilla/restore-clonezilla-network-backup/#step17-24","title":"Step17 -> 24","text":"Step17Step18Step19Step20Step21Step22Step23Step24

There is a regular user \"guru\" on the SSH server.

The image is stored in guru's homedirectory, in an existing subdirectory \"Downloads/DUMPS\".

Read the message.

Acknowledge that you want to make a connection.

Enter the password for user \"guru\".

With a correct password, the remote folder gets mounted locally.

Select \"Beginner\".

Clonezilla finds a valid image, so the option \"restoredisk/parts/...\" is available.

"},{"location":"tutorials/windows11-linuxmint21-dual-boot-bios-clonezilla/restore-clonezilla-network-backup/#step25-33","title":"Step25 -> 33","text":"Step25Step26Step27Step28Step29Step30Step31Step32Step33

All available images are listed. Choose \"win-lin\" for the image file to restore.

The target/destination disk is local disk \"sda\".

Use the partition table from the image.

Skip checking the image before restoring.

Poweroff when the restore is completed.

Notice the command with all the options. Press Enter to begin.

Confirm the restore, if you are sure.

Confirm the restore, if you are really sure ;-)

Grab a coffee. This can take a while.

"},{"location":"tutorials/windows11-linuxmint21-dual-boot-uefi/","title":"Install a Windows 11 and Linux Mint 21 dual boot PC (UEFI)","text":"

There are several reasons why someone might choose to install a dual boot system with Windows 11 and Linux Mint 21. Here are some common motivations:

  • Compatibility and software availability: Windows is still the dominant operating system for desktop computers, and some software applications may only be available for Windows. By having Windows 11 installed, you ensure compatibility with those applications.

  • Linux for development and customization: Linux Mint 21, being a popular Linux distribution, offers a robust environment for software development, programming, and customization. Many developers prefer Linux for its flexibility, command-line tools, and availability of programming languages and frameworks.

  • Security and privacy: Linux is often considered more secure and privacy-oriented compared to Windows. Some users prefer to use Linux Mint for their day-to-day tasks to minimize exposure to potential security vulnerabilities and data tracking. By having a dual boot system, users can switch between the two operating systems based on their specific needs.

  • Learning and exploration: Installing Linux alongside Windows allows users to explore and learn about different operating systems. Linux offers a different user experience, file system structure, and command-line interface, providing an opportunity to expand knowledge and skills in computing.

  • Multimedia and gaming: While Linux has made significant progress in supporting multimedia and gaming, Windows still provides better compatibility with a wider range of games and multimedia software. By having both operating systems, users can enjoy the benefits of Windows for gaming and multimedia while leveraging Linux for other tasks.

  • Dual boot as a backup: In some cases, users may prefer to have a backup operating system available in case one of the systems becomes unbootable or experiences technical issues. Having a dual boot setup ensures that users can still access their data and continue working, even if one operating system encounters problems.

It's important to note that setting up a dual boot system requires careful partitioning and installation procedures to ensure both operating systems coexist without conflicts. Additionally, users should be comfortable managing and troubleshooting both Windows and Linux environments.

"},{"location":"tutorials/windows11-linuxmint21-dual-boot-uefi/configure-bios-vs-uefi/","title":"Configure BIOS/UEFI","text":""},{"location":"tutorials/windows11-linuxmint21-dual-boot-uefi/configure-bios-vs-uefi/#turn-on-the-computer","title":"Turn on the computer","text":"

Turn on or restart your computer and watch for a message during the POST about a particular key, usually Del or a function key like F10 (e.g. HP Z2 PC) that you'll need to press to access the BIOS/UEFI setup utility. It's possible, you won't see such message at all, but a vendor splash screen instead.

"},{"location":"tutorials/windows11-linuxmint21-dual-boot-uefi/configure-bios-vs-uefi/#enter-the-biosuefi-setup-utility","title":"Enter the BIOS/UEFI Setup Utility","text":"

After pressing the correct keyboard command, you'll enter the BIOS/UEFI Setup Utility.

"},{"location":"tutorials/windows11-linuxmint21-dual-boot-uefi/configure-bios-vs-uefi/#wipe-the-harddisk-if-possible","title":"Wipe the harddisk (if possible)","text":"

Some systems make wiping the harddisk possible from BIOS/UEFI (e.g. \"HP Z2 PC\").

Step1Step2Step3Step4Step5Step6Step7

Select tab \"Security -> Hard Drive Utilities\".

Select \"Secure Erase\".

Confirm your drive.

Read and comprehend the message. Choose \"Secure Erase (Format NVM) Clear\" in this case.

Confirm.

Confirm again.

The wipe completes successfully.

"},{"location":"tutorials/windows11-linuxmint21-dual-boot-uefi/configure-bios-vs-uefi/#select-the-boot-mode","title":"Select the boot mode","text":"Step1Step2

In this tutorial, we do not use BIOS, but UEFI-mode. For e.g. a \"HP Z2 PC\", select \"Advanced -> Secure Boot Configuration\".

Choose \"Legacy Support Disable, Secure Boot Disable\".

"},{"location":"tutorials/windows11-linuxmint21-dual-boot-uefi/configure-bios-vs-uefi/#saveconfirm-your-changes-and-exit","title":"Save/confirm your changes and exit","text":"

Exit the utility using Esc and save changes.

"},{"location":"tutorials/windows11-linuxmint21-dual-boot-uefi/configure-bios-vs-uefi/#shutdown","title":"Shutdown","text":"

If you could wipe the harddisk, the sytem tries to PXE boot. If you could not, it may or may not boot. Nevermind. We will eventually erase possible partitions in the next steps. Shutdown the PC by pressing the \"power button\" long enough.

"},{"location":"tutorials/windows11-linuxmint21-dual-boot-uefi/configure-linuxmint21/","title":"Configure Linux Mint 21","text":""},{"location":"tutorials/windows11-linuxmint21-dual-boot-uefi/configure-linuxmint21/#login","title":"Login","text":"Step1Step2

Login with \"guru\", password \"guru\" at the \"MDM Login Manager\" (MDM = Mint Display Manager).

You're greeted with a \"Welcome screen\". Take a look around and then remove the check \"Show this dialog at startup\".

"},{"location":"tutorials/windows11-linuxmint21-dual-boot-uefi/configure-linuxmint21/#add-taskbar","title":"Add taskbar","text":"Step1Step2Step3Step4Step5

In this case, I have 2 monitors. Go to Menu -> Preferences -> Display

The left monitor must be the \"primary\". If necessary, switch monitor positions by dragging and click \"Apply\". If everything looks good, confirm this configuration.

Left monitor: right-click on the taskbar and choose \"Add a new panel\".

Red bars become visible on each side of both monitors.

Right monitor: click on the bottom red bar. A task bar is added and the red bars disappear.

"},{"location":"tutorials/windows11-linuxmint21-dual-boot-uefi/configure-linuxmint21/#add-applets","title":"Add applets","text":"Step1Step2Step3Step4

Right monitor: right-click and activate \"Panel edit mode\". Then choose \"Applets\".

Right monitor: navigate to \"Grouped window list\" and click on the + sign. Some icons become visible at the bottom right. Probably a bug, but is hard to see those icons. Close the \"Applets\" window.

Right monitor: Drag those icons all the way up to the left side of the screen (still on the right monitor!) and release the mouse.

Right monitor: right-click on the bottom taskbar and deactivate \"Panel edit mode\".

"},{"location":"tutorials/windows11-linuxmint21-dual-boot-uefi/configure-linuxmint21/#configure-update-mirror","title":"Configure update mirror","text":"Step1Step2Step3Step4Step5Step6

Go to \"Menu -> Administration -> Update Manager\".

Read the text and click \"OK\".

Let's use a local mirror for fast downloads. Click \"Yes\" in the blue bar and authenticate with the \"guru\" password.

Click in the field \"Main (...)\". Another window appears. Select the repository with the fastest speed. In this case, I choose \"LiteServer\" for lab purposes and click \"Apply\".

After changing the \"repository mirror\", the APT cache has to be updated. Click \"OK\".

Close the \"Software sources\" window and proceed with the updates. In this case, a new version of the \"Update Manager\" is available. Apply the update. Again, the password of \"guru\" is asked.

"},{"location":"tutorials/windows11-linuxmint21-dual-boot-uefi/configure-linuxmint21/#install-updates","title":"Install updates","text":"Step1Step2Step3Step4

A list of available updates is presented. Select \"Install Updates\". Confirm the (possible) message concerning additional changes. Again, the password of \"guru\" is asked.

Finally, all updates get downloaded and installed. Grab another coffee! Or click on \"Details\" to see what the system is doing ;-)

When the system is up-to-date, reboot the PC.

Login. Start the \"Update manager\" again and click \"Refresh\". Your system should be up-to-date. If not, repeat previous steps.

"},{"location":"tutorials/windows11-linuxmint21-dual-boot-uefi/configure-linuxmint21/#system-reports","title":"System reports","text":"Step1Step2

Go to \"Menu -> Administration -> System Reports\". Ignore the reports concerning the \"language packs (1)\" and \"the system restore utility (2)\".

No problems detected? Done!

"},{"location":"tutorials/windows11-linuxmint21-dual-boot-uefi/configure-windows11/","title":"Configure Windows 11","text":""},{"location":"tutorials/windows11-linuxmint21-dual-boot-uefi/configure-windows11/#activation","title":"Activation","text":"Step1Step2Step3

Click on the \"Start\" button. Then click on the gear icon labeled \"Settings\" to open the Settings app.

In the Settings app, click on the \"System\" category.

On the right, click on the \"Activation\" option. This will open the Activation page where you can view the activation status. Here it says: \"Windows is activated\". Consult official Microsoft documentation for your situation.

"},{"location":"tutorials/windows11-linuxmint21-dual-boot-uefi/configure-windows11/#updates","title":"Updates","text":"Step1Step2Step3Step4Step5Step6Step7

Click on the \"Start\" button. Then click on the gear icon labeled \"Settings\" to open the Settings app.

In the Settings app, click on the \"Windows Update\" category.

On the Windows Update page, click on the \"Check for updates\" button. This will initiate a check for available updates for your Windows 11 installation.

If any updates are found, downloading begins automatically. After the updates are downloaded, Windows may prompt you to restart your computer to install them. Reboot.

Once your computer restarts, Windows will automatically install the downloaded updates. This process may take some time, and your computer may restart multiple times during the installation.

After the initial set of updates is installed, it's a good idea to check for updates again to ensure that your system is fully up to date. Repeat previous steps to check for any additional updates that may be available.

Once all the updates are installed, you can verify the Windows 11 version and update status by going to the Settings app, clicking on the \"System\" category, and then selecting \"About\". Here, you can see the installed version of Windows 11 and confirm that your system is up to date.

"},{"location":"tutorials/windows11-linuxmint21-dual-boot-uefi/configure-windows11/#shutdown","title":"Shutdown","text":"

Shutdown the PC.

"},{"location":"tutorials/windows11-linuxmint21-dual-boot-uefi/final-result/","title":"Final result","text":"

You\u2019ve just learned how to install a Windows 11 / Linux Mint 21 dual boot system. We have a working base system, that is fully set up and ready to be used!

Now you\u2019re ready to go on to the next step. Checkout some of my howtos.

Or you could check out some other tutorials.

If you have any questions, comments, or corrections, I\u2019d love to hear from you: jurgen dot lamsens @ telenet dot be.

"},{"location":"tutorials/windows11-linuxmint21-dual-boot-uefi/getting-started/","title":"Getting started","text":"

Let's get set up! We have to make sure we\u2019ve got all the prerequisites set.

  • PC (UEFI) that can run Windows 11 and Linux Mint 21 (RAM, storage, CPU)
  • (2) monitor(s), keyboard and mouse
  • can boot from a USB flash drive
  • internet access
  • 2 USB flash drives
"},{"location":"tutorials/windows11-linuxmint21-dual-boot-uefi/install-linuxmint21/","title":"Install Linux Mint 21","text":""},{"location":"tutorials/windows11-linuxmint21-dual-boot-uefi/install-linuxmint21/#boot-from-usb","title":"Boot from USB","text":"Step1Step2Step3Step4

Insert the Linux Mint 21 USB flash drive. Make sure both monitors are \"on\". Start the PC. In this case (HP Z4 PC), press F9 once at the \"HP splash screen\" and wait. Specifics vary from computer to computer. Consult your hardware manual.

You get the \"boot menu\". Select the USB flash drive to boot from.

Select the first option at the GRUB menu.

You're in the live-environment. In this case, both monitors are active. Possibly not configured correctly. This is for later.

"},{"location":"tutorials/windows11-linuxmint21-dual-boot-uefi/install-linuxmint21/#languagekeyboardcodecs","title":"Language/keyboard/codecs","text":"Step1Step2Step3

Doubleclick on \"Install Linux Mint\". Select \"English\".

Keyboard layout: Belgian/Belgian. Test some characters in the test field.

Install the multimedia codecs.

"},{"location":"tutorials/windows11-linuxmint21-dual-boot-uefi/install-linuxmint21/#installation-typepartioning","title":"Installation type/partioning","text":"Step1Step2Step3Step4Step5Step6

You could perfectly choose for option1, but let's choose \"Something else\".

Let's manually create partitions. First, select the \"free space\" at the bottom and click on the + sign.

Make sure \"Numlock\" is active (check the LED, if any). Create a \"swap partition\" of size 16 GB (16384 MB). Look at the screenshot.

Again, select the \"free space\" at the bottom and click on the + sign. Create a \"root partition\" with the remaining disk space.

Verify that the \"Linux boot loader\" will be installed on /dev/nvme0n1. Click \"Install now\".

Read, comprehend and acknowledge the message.

"},{"location":"tutorials/windows11-linuxmint21-dual-boot-uefi/install-linuxmint21/#installing","title":"Installing","text":"Step1Step2Step3Step4Step5

In this case, \"Brussels\" will be suggested as location.

Your name: guru. Computer name: hp. Username: guru. Password: guru.

Enjoy the slideshow.

The installation is finished. Select \"Restart Now\".

Remove the USB flash drive and press Enter.

"},{"location":"tutorials/windows11-linuxmint21-dual-boot-uefi/install-linuxmint21/#finishing","title":"Finishing","text":"

After reboot, you have a menu where you can choose between \"Linux Mint 21 Cinnamon\" and \"Windows Boot Manager\" (=Windows 11). There is a counter from 10s to 0s. Make your choice in time. By default, \"Linux Mint 21 Cinnamon\" gets started.

"},{"location":"tutorials/windows11-linuxmint21-dual-boot-uefi/install-windows11/","title":"Install Windows 11","text":""},{"location":"tutorials/windows11-linuxmint21-dual-boot-uefi/install-windows11/#boot-from-usb","title":"Boot from USB","text":"Step1Step2

Insert the Windows 11 USB flash drive. Make sure both monitors are \"on\". Start the PC. In this case (HP Z4 PC), press F9 once at the \"HP splash screen\" and wait. Specifics vary from computer to computer. Consult your hardware manual.

You get the \"boot menu\". Select the USB flash drive to boot from.

"},{"location":"tutorials/windows11-linuxmint21-dual-boot-uefi/install-windows11/#time-and-currency-format","title":"Time and currency format","text":"

Dutch (Belgium). Keyboard or input method: \u201cBelgian (Period).

"},{"location":"tutorials/windows11-linuxmint21-dual-boot-uefi/install-windows11/#install-now","title":"Install now","text":"

Notice, you also have a \"repair\" option here... Choose \"Install now\".

"},{"location":"tutorials/windows11-linuxmint21-dual-boot-uefi/install-windows11/#license-agreement","title":"License agreement","text":"

Accept.

"},{"location":"tutorials/windows11-linuxmint21-dual-boot-uefi/install-windows11/#type-of-installation","title":"Type of installation","text":"

Select \u201cCustom: Install Windows only (advanced)\".

"},{"location":"tutorials/windows11-linuxmint21-dual-boot-uefi/install-windows11/#installation-location-partitioning","title":"Installation location & partitioning","text":"Step1Step2Step3Step4

If you were able to do a secure erase in BIOS/UEFI, there are no partitions. If not, delete all partitions manually.

Make sure \"Num Lock\" is activated on your keyboard. Check the LED if possible. Select \"New\" and create a partition of 60 GB (61440 MB) and click \"apply\".

Read and comprehend the message.

Windows creates additional partitions. Notice, there is some \"Unallocated space\" left. This is for the Linux installation later on. Select \"Drive 0 Partition 3\" for the Windows installation.

"},{"location":"tutorials/windows11-linuxmint21-dual-boot-uefi/install-windows11/#installing","title":"Installing","text":"Step1Step2

Grab a coffee.

The PC reboots for the first time. UEFI/BIOS won't boot of the USB flash drive, as it finds a Windows installation on the (hard)drive.

"},{"location":"tutorials/windows11-linuxmint21-dual-boot-uefi/install-windows11/#keyboard-and-network","title":"Keyboard and network","text":"Step1Step2Step3Step4Step5

Personal preference here. I select \"Belgium\".

Personal preference here. I select \"Belgian (Period)\".

Select \"Skip\"

Windows reboots for the 2nd time.

The presence or absence of the \"Let's connect you to a network\" screen during the installation of Windows 11 23H2 can depend on various factors. If you get this screen, choose \"Next\".

"},{"location":"tutorials/windows11-linuxmint21-dual-boot-uefi/install-windows11/#account","title":"Account","text":"Step1Step2Step3Step4Step5Step6Step7Step8

Select \"sign-in options\".

Select \"Domain join instead\".

Login: guru

Password: guru

Acknowlege the password: guru

Security question1: Doggy

Security question2: Wevelgem

Security question3: IT guru

"},{"location":"tutorials/windows11-linuxmint21-dual-boot-uefi/install-windows11/#finishing","title":"Finishing","text":"Step1Step2Step3Step4Step5Step6Step7Step8Step9

Location-based experiences: no.

Find my device: no.

Send diagnostic data: Required only.

Improving inking & typing: no.

Get tailored experiences: no.

Advertising id: no.

Updates.

Almost ready.

Installation done!

"},{"location":"tutorials/windows11-linuxmint21-dual-boot-uefi/prepare-installation-media/","title":"Prepare installation media","text":"

Follow these howto's to create the installation media.

  • Windows 11 bootable USB flash drive (option: \"For UEFI (non-CSM)\")
  • Linux Mint 21 bootable USB flash drive (option: \"For UEFI (non-CSM)\")
"},{"location":"tutorials/windows11-virtualbox/","title":"Install Windows 11 in VirtualBox 6.1.50","text":"

There are several reasons why someone might want to install Windows 11 in a virtual machine (VM). Here are a few possible scenarios:

  • Testing and Evaluation: Installing Windows 11 in a virtual machine allows you to test the new operating system without affecting your primary computer or existing software setup. It provides a safe environment to evaluate the new features, compatibility with your existing software, and overall performance.

  • Development and Software Testing: If you're a developer or software tester, having a virtual machine with Windows 11 lets you ensure that your software works seamlessly on the latest version of Windows. It allows you to perform compatibility testing, identify and resolve any issues or bugs specific to Windows 11.

  • Learning and Familiarization: Virtual machines provide an excellent platform for learning and familiarizing yourself with a new operating system. By installing Windows 11 in a virtual machine, you can explore its features, interface, and functionalities, without the risk of making irreversible changes to your main computer.

  • Isolated Environment: Virtual machines offer isolation from the host operating system. If you need to run potentially risky or experimental software, installing Windows 11 in a virtual machine provides a sandboxed environment where any negative effects are contained within the virtual machine. This helps protect your main system from potential harm.

  • Multi-OS Environments: Virtual machines enable you to have multiple operating systems running simultaneously on a single physical computer. If you need to use both Windows 11 and another operating system, such as Linux or an older version of Windows, you can set up a virtual machine to run Windows 11 alongside your primary operating system.

  • Accessibility and Convenience: Running Windows 11 in a virtual machine can be more convenient for certain tasks. For example, if you require specific software that is only compatible with Windows 11, you can access it easily within the virtual machine without needing to switch between different computers or dual-boot setups.

Overall, installing Windows 11 in a virtual machine provides flexibility, safety, and convenience for testing, development, learning, and running specific software in an isolated environment.

"},{"location":"tutorials/windows11-virtualbox/configure-os/","title":"Configure OS","text":""},{"location":"tutorials/windows11-virtualbox/configure-os/#guest-additions","title":"Guest additions","text":"Step1Step2Step3Step4Step5Step6Step7

Select \"Devices -> Insert Guest Additions CD Image\". At first glance, nothing will happen, but in the background, a \"virtual cd\" gets mounted.

Start the \"Windows Explorer\". You can see the \"virtual cd\" via the D:\\ drive. Double-click on \"VboxWindowsAdditions-amd64\".

Read and comprehend all messages. Follow the installation steps and restart.

Login (\"guru\"/\"guru\") and select \"View -> Full-screen Mode\". It takes a second, but the screen should maximize.

Read and comprehend the popup message.

Hooray, full screen! Play with \"Host+F\" key in combination with maximizing the screen. I choose to see both my \"Linux desktop menu\" as the \"Windows Start menu\".

Start \"Windows Explorer\". Right-click on D:\\ -> Eject (= \"remove the virtual cd\"). Windows Explorer will close.

"},{"location":"tutorials/windows11-virtualbox/configure-os/#automatic-updates","title":"Automatic updates","text":"Step1Step2

Go to \"System -> Windows update\" and install all available updates.

Reboot when asked to. Repeat \"Check for updates/installing updates\" until no more updates are available.

"},{"location":"tutorials/windows11-virtualbox/configure-os/#restart-and-shutdown","title":"Restart and shutdown","text":"

Let's do a last restart so all pending updates are properly installed. Finally, \"shutdown\" Windows.

"},{"location":"tutorials/windows11-virtualbox/configure-vm/","title":"Configure VM","text":""},{"location":"tutorials/windows11-virtualbox/configure-vm/#download-iso","title":"Download ISO","text":"Step1Step2Step3Step4

Use your favorite search engine to search for the Windows 11 trial iso and choose the official Microsoft website. Registration is needed. (VDAB users: download from your Google Drive!)

Click the \"English (United States) 64-bit edition\" download.

Grab a coffee.

Give the file an appropriate filename.

"},{"location":"tutorials/windows11-virtualbox/configure-vm/#edit-settings","title":"Edit settings","text":"Step1Step2Step3Step4Step5Step6Step7

Right-click -> Settings.

General -> Advanced: enable copy/paste in both directions.

System -> Motherboard: first boot from \"disk\". If there is no OS found, boot from the \"virtual CD\" (.ISO file). Disable \"Floppy\".

Storage -> select \"Empty\". Add a virtual optical disk.

Select \"Add\" and browse to \"/home/guru/Downloads\". Double-click the Windows 11 .ISO file.

Select \"Choose\".

We do not need audio.

"},{"location":"tutorials/windows11-virtualbox/configure-vm/#verify-settings","title":"Verify settings","text":""},{"location":"tutorials/windows11-virtualbox/create-snapshot-clean-install/","title":"Create snapshot clean install.","text":"Step1Step2Step3Step4

Select \"Machine -> Tools -> Snapshots\".

Select \"Current State\" and click \"Take\". Give a proper name, like \"Clean install\". A good \"Snapshot Description\" can be handy!

If you change \"something\" in this virtual machine, you will get \"Current State (changed)\". Want to revert those changes? Select \"Clean install\" and click \"Restore\". Be sure to clear the checkbox at \"Create a snapshot of the current machine state\" or you'll end up with another snapshot.

You know if the snapshot has been properly restored, if the \"Current State\" equals the \"Clean install\" again.

"},{"location":"tutorials/windows11-virtualbox/create-snapshot-sysprep/","title":"Create snapshot sysprep.","text":"Step1Step2Step3

Select \"Machine -> Tools -> Snapshots\".

Select \"Current State (changed)\" and click \"Take\". Give a proper name, like \"Sysprep\". A good \"Snapshot Description\" can be handy!

The end-result should look like this.

"},{"location":"tutorials/windows11-virtualbox/create-sysprep/","title":"Create sysprep.","text":"Step1Step2Step3Step4Step5Step6Step7

Start the VM and login (\"guru\"/\"guru\"). Run a commandprompt as administrator.

  1. First change the path.

  2. Then enter the sysprep command with parameters. It is possible you get an error, like here. If not, skip the next steps.

Let's find out what the fuss is all about. Open the log file. A web search leads me to here.

Open Powershell as \"Administrator\" and run the following cmdlets.

Import-Module Appx\nImport-Module Dism\nGet-AppxPackage -AllUsers | Where PublisherId -eq 8wekyb3d8bbwe | Format-List -Property PackageFullName,PackageUserInformation\n

Look for a package \"BingSearch\" and copy it's full name

Remove that package using Powershell.

Go back to the regular command prompt. The sysprep should be working and the system will shutdown afterwards.

"},{"location":"tutorials/windows11-virtualbox/create-vm/","title":"Create VM","text":"Step1Step2Step3Step4Step5Step6Step7Step8

Select \"Machine -> New\".

Create a template, where we can clone from later on.

Enter 4096 MB (4 GB) memory.

Select \"Create a virtual hard disk now\".

Select \"VDI\" as hard disk file type.

Read and comprehend the text. Select \"Dynamically allocated\".

Enter 80 GB disk size.

The VM has been successfully created.

"},{"location":"tutorials/windows11-virtualbox/final-result/","title":"Final result","text":"

You\u2019ve just learned how to install a Windows 11 virtual machine in VirtualBox. We have a working base system, that is fully set up and ready to be used!

Now you\u2019re ready to go on to the next step. Checkout some of my howtos.

Or you could check out some other tutorials.

If you have any questions, comments, or corrections, I\u2019d love to hear from you: jurgen dot lamsens @ telenet dot be.

"},{"location":"tutorials/windows11-virtualbox/getting-started/","title":"Getting started","text":"

Let's get set up! We have to make sure we\u2019ve got all the prerequisites set.

  • a PC (BIOS/UEFI) running Linux Mint 21
  • a VirtualBox installation
"},{"location":"tutorials/windows11-virtualbox/install-os/","title":"Install OS","text":""},{"location":"tutorials/windows11-virtualbox/install-os/#boot-from-iso","title":"Boot from ISO","text":"Step1Step2Step3Step4

Start the virtual machine. Click inside the VM display window. If this is the first time, you get this information message. Read it! Select \"Do not show this message again\" and click \"Capture\". The mouse is now captured inside the window. Now \"uncapture\", by pressing \"that host key\" (right Ctrl).

Also, if this is the first time you start a virtual machine, you get the \"Auto capture keyboard\" and \"mouse pointer integration\" messages. Read them and then tick the \"Do not show this message again\" checkboxes. We get this interactive shell, as we did not \"press any key\" to boot from the virtual CD-ROM.

Close the window and choose \"Power off the machine\". Start the virtual machine again and quickly click into the window at the \"Press any key...\" prompt, so it gets the focus, and press Enter. Be fast!

The Windows 11 installer should now start. Time and currency format: Dutch (Belgium). Keyboard or input method: \u201cBelgian (Period)\". Do not click \"Next\" yet!

"},{"location":"tutorials/windows11-virtualbox/install-os/#bypass-checks","title":"Bypass checks","text":"Step1Step2

Press Shift F10 to open up a command prompt. Typ \"regedit\" and press Enter The registry editor opens. Navigate to \"HKEY_LOCAL_MACHINE\\SYSTEM\\Setup\", right-click on the \"Setup\" key and select \"New -> Key\". Give this key the name \"LabConfig\" (be aware: qwerty!)

In the white space in the right window, right-click -> New -> DWORD (32-bit). Give this \"Value\" the name \"BypassTPMCheck\". Doubleclick on this value and change the \"Value data\" of 0 to 1. Do the same for \"\u201cBypassRAMCheck\u201d and \"BypassSecureBootCheck\". Compare with the screenshot below. Close the registry editor and command prompt window.

"},{"location":"tutorials/windows11-virtualbox/install-os/#installing","title":"Installing","text":"Step1Step2Step3Step4Step5Step6Step7

Choose \"Install now\". Notice, you also have a \"repair\" option here...

Accept the license agreement.

Select \u201cCustom: Install Windows only (advanced)\".

There are no partitions yet. Click \"next\".

Grab a coffee.

The VM reboots for the first time. Virtual UEFI/BIOS won't boot of the ISO image, as it finds a Windows installation on the virtual harddrive.

The VM reboots for the second time.

"},{"location":"tutorials/windows11-virtualbox/install-os/#configuration","title":"Configuration","text":"Step1Step2Step3

Personal preference here. I select \"Belgium\".

Personal preference here. I select \"Belgian (Period)\".

Select \"Skip\". The VM will reboot for the 3rd time.

"},{"location":"tutorials/windows11-virtualbox/install-os/#sign-in","title":"Sign in.","text":"Step1Step2Step3Step4Step5Step6Step7

Click \"Sign-in options\".

Select \"Domain join instead\".

Your name: \"guru\".

Create and confirm password: \"guru\".

Security question1: \"Doggy\" ;-)

Security question2: \"Wevelgem\".

Security question3: \"IT guru\" ;-)

"},{"location":"tutorials/windows11-virtualbox/install-os/#finishing","title":"Finishing","text":"Step1Step2Step3Step4Step5Step6Step7Step8

Location based services: \"No\".

Find my device: \"No\".

Diagnostic data: \"Required only\".

Inking & typing: \"No\".

Tailored experiences: \"No\".

Advertising ID: \"No\".

Installing...

Done! Notice, that there is no \"full screen\" possible yet. Later on, we'll install the \"virtualbox guest additions\" for that.

"}]} \ No newline at end of file +{"config":{"lang":["en"],"separator":"[\\s\\-]+","pipeline":["stopWordFilter"]},"docs":[{"location":"","title":"Welcome!","text":"1234

Jun 06, 2023 - in Howtos - 20 min guide

VirtualBox is a powerful virtualization software that allows you to create and run virtual machines on your computer. Developed by Oracle, VirtualBox enables you to emulate multiple operating systems within a single physical machine.

Continue reading

Sep 10, 2023 - in Howtos - 5 min guide

Minicom is an open source clone of the MS-DOS \"Telix\" communication program. It emulates ANSI and VT102 terminals, has a dialing directory and auto zmodem download.

Continue reading

Jun 08, 2023 - in Howtos - 5 min guide

Packet Tracer is a cross-platform visual simulation tool designed by Cisco Systems that allows users to create network topologies and imitate modern computer networks. It simulates, not emulates, the configuration of Cisco routers and switches.

Continue reading

Apr 05, 2023 - in Tutorials - 90 min lesson

Operating systems can coexist without (too many) conflicts, as long as you careful partition and follow installation procedures. Windows for software compatibility, multimedia and gaming. Linux for development, customization, security, ...

Continue reading

Apr 05, 2024 - in Tutorials - 180 min lesson

Setting up a Windows client/server test lab in VirtualBox provides a cost-effective and efficient way to experiment with various network configurations, software installations, and system setups without the need for physical hardware...

Continue reading

Jun 15, 2023 - in Tutorials - 90 min lesson

Virtualizing an OS is interesting because it allows for the creation of isolated and self-contained virtual environments that can run on a single physical machine, enabling efficient resource utilization and flexibility in testing, development...

Continue reading

Jun 15, 2023 - in Tutorials - 120 min lesson

Virtualizing an OS is interesting because it allows for the creation of isolated and self-contained virtual environments that can run on a single physical machine, enabling efficient resource utilization and flexibility in testing, development...

Continue reading

Jun 08, 2023 - in Howtos - 10 min guide

Google Chrome browser is a popular web browser developed by Google that offers a fast, secure, and feature-rich browsing experience. It is based on the open-source Chromium project and supports a wide range of extensions and platforms.

Continue reading

Jun 06, 2023 - in Howtos - 20 min guide

VirtualBox is a powerful virtualization software that allows you to create and run virtual machines on your computer. Developed by Oracle, VirtualBox enables you to emulate multiple operating systems within a single physical machine.

Continue reading

Jun 03, 2023 - in Tutorials - 90 min lesson

Operating systems can coexist without (too many) conflicts, as long as you careful partition and follow installation procedures. Windows for software compatibility, multimedia and gaming. Linux for development, customization, security, ...

Continue reading

May 28, 2023 - in Howtos - 20 min guide

Factory reset = restore to default settings. Erase all configuration settings, including IP addresses, hostname, passwords, VLANs and other settings. Ready for network deployment, troubleshooting, resale or decommissioning.

Continue reading

May 25, 2023 - in Howtos - 10 min guide

ROMMON is a seperate firmware component embedded in the hardware of Cisco devices, a small program that runs - after POST - when a device is powered on or during the boot process. It is responsible for providing basic boot and recovery functionality.

Continue reading

May 18, 2023 - in Howtos - 15 min guide

Cisco switches have a password recovery procedure that involves booting the switch into a special mode that allows you to reset the password. If you are unable to recover the password, you can perform a factory reset of the switch.

Continue reading

March 10, 2023 - in Howtos - 10 min guide

Creating a Linux Mint 21 bootable USB flash drive is useful for a variety of purposes, including installing or trying out Linux Mint on a new computer or repairing a malfunctioning installation.

Continue reading

March 07, 2023 - in Howtos - 20 min guide

Upgrading to a new version. Recovery from software corruption. Factory reset. Configuration compatibility. License activation. There are a variety of reasons why it is sometimes necessary to (re)install an IOS on a Cisco 2960 switch.

Continue reading

February 2, 2023 - in Howtos - 12 min guide

A Windows 11 bootable USB flash drive is a removable storage device that has been configured to contain all the necessary files and software to launch a Windows 11 installation or repair process.

Continue reading

September 26, 2022 - in Howtos - 7 min guide

XMind is a mind mapping and brainstorming software. At the time of writing, the current downloadable version is XMind 2022 (12.0.2 evaluation version). If you happen to have some old .xmind files lying around...

Continue reading

"},{"location":"bike%20routes/","title":"Bike routes landing page.","text":""},{"location":"bike%20routes/gent/","title":"Bike routes around Gent.","text":""},{"location":"bike%20routes/gent/#20km","title":"20km","text":"Route1Route2

Explain step.

Explain step.

"},{"location":"bike%20routes/gent/#30km","title":"30km","text":"30km

Explain step.

"},{"location":"bike%20routes/gent/#60km","title":">=60km","text":"65km

Explain step.

"},{"location":"blogs/","title":"Blogs landing page","text":""},{"location":"blogs/2024/no-matching-cypher-found/","title":"No matching cypher found","text":""},{"location":"blogs/2024/no-matching-cypher-found/#setup","title":"Setup","text":"S1R1
Switch>enable \nSwitch#clock set 11:59:00 Jul 02 2024\nSwitch#conf terminal \nSwitch(config)#hostname S1\nS1(config)#int vlan1\nS1(config-if)#ip add 192.168.10.3 255.255.255.0\nS1(config-if)#no shut\nS1(config-if)#end\nS1#\n
Router>enable\nRouter#clock set 11:59:00 Jul 02 2024\nRouter#conf t\nRouter(config)#enable secret admin\nRouter(config)#hostname R1\nR1(config)#ip domain-name opensysadmins.lab\nR1(config)#crypto key generate rsa modulus 2048\nR1(config)#username admin secret admin\nR1(config)#line vty 0 15\nR1(config-line)#transport input ssh\nR1(config-line)#login local\nR1(config-line)#exit\n\nR1(config)#int g0/1\nR1(config-if)#ip add 192.168.10.254 255.255.255.0\nR1(config-if)#no shut\nR1(config-if)#end\nR1#\n
"},{"location":"blogs/2024/no-matching-cypher-found/#problem","title":"Problem","text":"

Connecting from a Cisco 2960 switch to a Cisco 1941 router using SSH gives a \"no matching cypher found\" error. (Nevermind the date/time settings on switch and router, they are a bit off as I set them manually).

S1R1
S1#ssh -l admin 192.168.10.254\n[Connection to 192.168.10.254 aborted: error status 0]\nS1#\nJul  9 10:50:01.914: %SSH-3-NO_MATCH: No matching cipher found: client aes128-cbc,3des-cbc,aes192-cbc,aes256-cbc server aes128-ctr,aes1r\nS1#\n
R1#\nJul  9 10:49:58.823: %SSH-3-NO_MATCH: No matching cipher found: client aes128-cbc,3des-cbc,aes192-cbc,aes256-cbc server aes128-ctr,aes1r\nR1#\n
"},{"location":"blogs/2024/no-matching-cypher-found/#cipher-list-on-the-switch","title":"Cipher list on the switch.","text":"

First things first. What does a cipher list like aes256-cbc mean on a Cisco 2960 switch?

It refers to the encryption method used for secure communication, for example, with SSH (Secure Shell) or for securing data transfer.

  • AES: Advanced Encryption Standard, a highly secure and widely used encryption standard.
  • 256: The key size in bits. In this case, it is a 256-bit key, which provides a very high level of security.
  • CBC: Cipher Block Chaining, a mode of AES that provides additional security by making each data block dependent on the previous block.

When you run ssh -c ? the system displays a list of all supported encryption algorithms for the SSH client that can be used when establishing an SSH connection to another device. When you run show ip ssh, it shows the default configured and supported encryption algorithms for the SSH server service, should the client be running one. This indicates which algorithms will be used by default when an SSH connection is established to the switch. In this case, the switch is not running an SSH server.

S1 as clientS1 as server
S1#ssh -c ?\n  3des        triple des\nSSHv2 only cipher list:\n  aes128-cbc  AES 128 bits\n  aes192-cbc  AES 192 bits\n  aes256-cbc  AES 256 bits\n\nS1#\n
S1#show ip ssh\nSSH Disabled - version 1.99\n...\nS1#\n
"},{"location":"blogs/2024/no-matching-cypher-found/#cipher-list-on-the-router","title":"Cipher list on the router.","text":"

On a Cisco 1941 router, e.g. aes256-ctr refers to a different mode of the AES encryption standard, where:

  • AES: Advanced Encryption Standard.
  • 256: The key size in bits, again 256 bits.
  • CTR: Counter mode, a mode of AES where a counter is used to make each data block independent of the other blocks.

In CTR (Counter) mode, a counter value is combined with an initial value and then encrypted. The resulting output is then combined with the plaintext block to form the encrypted text block. This mode makes each block encryption independent, which has advantages such as the ability to encrypt and decrypt blocks in parallel, improving speed.

R1 as clientR1 as server
R1#ssh -c ?\n  3des        triple des\nSSHv2 only cipher list:\n  aes128-cbc  AES 128 bits\n  aes128-ctr  AES-CTR 128 bits\n  aes192-cbc  AES 192 bits\n  aes192-ctr  AES-CTR 192 bits\n  aes256-cbc  AES 256 bits\n  aes256-ctr  AES-CTR 256 bits\n\nR1#    \n
R1#show ip ssh \nSSH Enabled - version 1.99\nAuthentication methods:publickey,keyboard-interactive,password\nAuthentication Publickey Algorithms:x509v3-ssh-rsa,ssh-rsa\nHostkey Algorithms:x509v3-ssh-rsa,ssh-rsa\nEncryption Algorithms:aes128-ctr,aes192-ctr,aes256-ctr\nMAC Algorithms:hmac-sha2-256,hmac-sha2-512,hmac-sha1,hmac-sha1-96\nKEX Algorithms:diffie-hellman-group-exchange-sha1,diffie-hellman-group14-sha1\n...\n
"},{"location":"blogs/2024/no-matching-cypher-found/#different-cypher-lists","title":"Different cypher lists.","text":"

Why is e.g. aes256-ctr not available on a Cisco 2960 switch?

  • Hardware and software support: Not all devices support all encryption modes. The absence of aes256-ctr on the Cisco 2960 switch may be due to hardware or software limitations of the switch. Cisco 2960 switches are primarily designed as access switches and may not have the same extensive cryptographic capabilities as a router like the Cisco 1941.
  • Different use cases: Switches and routers often have different use cases. Routers, such as the Cisco 1941, are more often used for WAN connections and VPN tunnels, where strong and flexible encryption is necessary. Therefore, they may support a broader range of encryption algorithms and modes. Switches, on the other hand, are usually used within LANs and may not need the same level of encryption support.
  • Configuration and licenses: The available cipher suites on a switch or router may also depend on the configuration, the IOS version, or specific licenses installed on the device.

It is important to consult the documentation of specific Cisco devices and IOS versions to know which encryption methods and modes are supported.

"},{"location":"blogs/2024/no-matching-cypher-found/#solution","title":"Solution","text":"

You can customize the list of supported and used encryption algorithms for the SSH server through Cisco IOS configuration. This can be done by adjusting the SSH server configuration to add or remove specific ciphers. This example would limit the show ip ssh output to only the specifically configured algorithms:

R1S1
R1#conf t\nR1(config)#ip ssh server algorithm encryption aes256-cbc\nR1(config)#end\n\nR1#show ip ssh\n...\nEncryption Algorithms:aes256-cbc\nMAC Algorithms:hmac-sha2-256,hmac-sha2-512,hmac-sha1,hmac-sha1-96\nKEX Algorithms:diffie-hellman-group-exchange-sha1,diffie-hellman-group14-sha1\n...\nR1#\n
S1#ssh -l admin 192.168.10.254\nPassword:         <--- enter \"admin\"\n\nR1>enable\nPassword:         <--- enter \"admin\"\nR1#\n
"},{"location":"blogs/2024/no-matching-key-exchange-method-found/","title":"No matching key exchange method found","text":""},{"location":"blogs/2024/no-matching-key-exchange-method-found/#setup","title":"Setup","text":"S1R1
Switch>enable \nSwitch#clock set 11:59:00 Jul 02 2024\nSwitch#conf terminal \nSwitch(config)#hostname S1\nS1(config)#int vlan1\nS1(config-if)#ip add 192.168.10.3 255.255.255.0\nS1(config-if)#no shut\nS1(config-if)#end\nS1#\n
Router>enable\nRouter#clock set 11:59:00 Jul 02 2024\nRouter#conf t\nRouter(config)#enable secret admin\nRouter(config)#hostname R1\nR1(config)#ip domain-name opensysadmins.lab\nR1(config)#crypto key generate rsa modulus 2048\nR1(config)#username admin secret admin\nR1(config)#line vty 0 15\nR1(config-line)#transport input ssh\nR1(config-line)#login local\nR1(config-line)#exit\n\nR1(config)#int g0/1\nR1(config-if)#ip add 192.168.10.254 255.255.255.0\nR1(config-if)#no shut\nR1(config-if)#end\nR1#\n
"},{"location":"blogs/2024/no-matching-key-exchange-method-found/#problem","title":"Problem","text":"

Connecting from a Linux Mint 21 LAB-PC to a Cisco 1941 router using SSH gives a \"no matching key exchange method found\" error. Notice that the router gives a \"No matching cipher found\" error, which is different than the error on the LAB-PC! (Nevermind the date/time settings on switch and router, they are a bit off as I set them manually)

LAB-PCR1
guru@lab:~$ ssh -l admin 192.168.10.254\nUnable to negotiate with 192.168.10.254 port 22: no matching key exchange method found. Their offer: diffie-hellman-group-exchange-sha1,\ndiffie-hellman-group14-sha1\nguru@lab:~$ \n
R1#\nJul  9 11:25:38.179: %SSH-3-NO_MATCH: No matching cipher found: client aes128-ctr,aes192-ctr,aes256-ctr,aes128-cbc,3des-cbc server aes25\n6-cbc\nR1#\n
"},{"location":"blogs/2024/no-matching-key-exchange-method-found/#cipher-list","title":"Cipher list.","text":"

Via this post, we already know how to fix that cipher error on the \"server side\". Here, we will use a cipher on the Linux client that the server (R1) understands. Now we are left with \"no matching key exchange method found\" error on both sides.

LAB-PCR1
# By default, the SSH client speaks these Ciphers\nguru@lab:~$ grep \"Cipher\" /etc/ssh/ssh_config\n    Ciphers aes128-ctr,aes192-ctr,aes256-ctr,aes128-cbc,3des-cbc\n\n# Make the SSH client speak a cipher that the router understands\nguru@lab:~$ ssh -c aes256-cbc -l admin 192.168.10.254\nUnable to negotiate with 192.168.10.254 port 22: no matching key exchange method found. Their offer: diffie-hellman-group-exchange-sha1,\ndiffie-hellman-group14-sha1\nguru@lab:~$ \nS1#\n
R1#\nJul  9 12:43:57.403: %SSH-3-NO_MATCH: No matching kex algorithm found: client curve25519-sha256,curve25519-sha256@libssh.org,ecdh-sha2-n\nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,sntrup761x25519-sha512@openssh.com,diffie-hellman-group-exchange-sha256,diffie-hellman-gro\nup16-sha512,diffie-hellman-group18-sha512,diffie-hellman-group14-sha256,ext-info-c,kex-strict-c-v00@openssh.com server diffie-hellman-gr\noup-exchange-sha1,diffie-hellman-group14-sha1\nR1#\n
"},{"location":"blogs/2024/no-matching-key-exchange-method-found/#key-exchange","title":"Key exchange","text":"

There is a discrepancy between the key exchange algorithms shown in the output of ssh -Q kex and those observed during the actual SSH negotiation with ssh -vvv. The algorithms listed in ssh -Q kex include all supported algorithms, but some may be deprecated or considered less secure. During actual connections, OpenSSH may prioritize more secure algorithms.

LAB-PCR1
# Do a verbose connection to see which key exchange algorithms are tried\nguru@lab:~$ ssh -vvv -c aes256-cbc -l admin 192.168.10.254\n...\n...\ndebug2: KEX algorithms: curve25519-sha256,curve25519-sha256@libssh.org,ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,sntrup76\n1x25519-sha512@openssh.com,diffie-hellman-group-exchange-sha256,diffie-hellman-group16-sha512,diffie-hellman-group18-sha512,diffie-hellm\nan-group14-sha256,ext-info-c,kex-strict-c-v00@openssh.com\n...\n\n# List the supported key exchange algorithms on the SSH client\nguru@lab:~$ ssh -Q kex\ndiffie-hellman-group1-sha1 NOT TRIED\ndiffie-hellman-group14-sha1 NOT TRIED\ndiffie-hellman-group14-sha256 <--- TRIED\ndiffie-hellman-group16-sha512 <--- TRIED\ndiffie-hellman-group18-sha512 <--- TRIED\ndiffie-hellman-group-exchange-sha1 NOT TRIED\ndiffie-hellman-group-exchange-sha256 <--- TRIED\necdh-sha2-nistp256 <--- TRIED\necdh-sha2-nistp384 <--- TRIED\necdh-sha2-nistp521 <--- TRIED\ncurve25519-sha256 <--- TRIED\ncurve25519-sha256@libssh.org <--- TRIED\nsntrup76 <--- TRIED\n1x25519-sha512@openssh.com <--- TRIED\nguru@lab:~$\n
R1#show ip ssh \nSSH Enabled - version 1.99\nAuthentication methods:publickey,keyboard-interactive,password\nAuthentication Publickey Algorithms:x509v3-ssh-rsa,ssh-rsa\nHostkey Algorithms:x509v3-ssh-rsa,ssh-rsa\nEncryption Algorithms:aes128-ctr,aes192-ctr,aes256-ctr\nMAC Algorithms:hmac-sha2-256,hmac-sha2-512,hmac-sha1,hmac-sha1-96\nKEX Algorithms:diffie-hellman-group-exchange-sha1,diffie-hellman-group14-sha1\n...\n
"},{"location":"blogs/2024/no-matching-key-exchange-method-found/#solution-and-new-problem","title":"Solution and new problem","text":"

The Linux client (LAB-PC) has to use a key exchange algorithm that the server (R1) supports; either diffie-hellman-group-exchange-sha1 or diffie-hellman-group14-sha1 in this case. Let's use the first one. Now we get the error \"no matching host key type found\".

LAB-PCR1
guru@lab:~$ ssh -c aes256-cbc -oKexAlgorithms=+diffie-hellman-group-exchange-sha1 -l admin 192.168.10.254\nUnable to negotiate with 192.168.10.254 port 22: no matching host key type found. Their offer: ssh-rsa\nguru@lab:~$\n
R1# Jul  9 13:17:59.767: %SSH-3-NO_MATCH: No matching hostkey algorithm found: client ssh-ed25519-cert-v01@openssh.com,ecdsa-sha2-nistp256-c\nert-v01@openssh.com,ecdsa-sha2-nistp384-cert-v01@openssh.com,ecdsa-sha2-nistp521-cert-v01@openssh.com,sk-ssh-ed25519-cert-v01@openssh.co\nm,sk-ecdsa-sha2-nistp256-cert-v01@openssh.com,rsa-sha2-512-cert-v01@openssh.com,rsa-sha2-256-cert-v01@openssh.com,ssh-ed25519,ecdsa-sha2\n-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,sk-ssh-ed25519@openssh.com,sk-ecdsa-sha2-nistp256@openssh.com,rsa-sha2-512,rsa-sha2-25\n6 server ssh-rsa\nR1#\n
"},{"location":"blogs/2024/no-matching-key-exchange-method-found/#host-key-type","title":"Host key type","text":"

There is a discrepancy between the host key types shown in the output of ssh -Q key and those observed during the actual SSH negotiation with ssh -vvv. The algorithms listed in ssh -Q key include all supported key types, but during actual connections, OpenSSH may prioritize more secure key types.

LAB-PCR1
# Do a verbose connection to see which host key types are tried\nguru@lab:~$ ssh -vvv -c aes256-cbc -oKexAlgorithms=+diffie-hellman-group-exchange-sha1 -l admin 192.168.10.254\n...\n...\ndebug2: host key algorithms: ssh-ed25519-cert-v01@openssh.com,ecdsa-sha2-nistp256-cert-v01@openssh.com,ecdsa-sha2-nistp384-cert-v01@open\nssh.com,ecdsa-sha2-nistp521-cert-v01@openssh.com,sk-ssh-ed25519-cert-v01@openssh.com,sk-ecdsa-sha2-nistp256-cert-v01@openssh.com,rsa-sha\n2-512-cert-v01@openssh.com,rsa-sha2-256-cert-v01@openssh.com,ssh-ed25519,ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,sk-\nssh-ed25519@openssh.com,sk-ecdsa-sha2-nistp256@openssh.com,rsa-sha2-512,rsa-sha2-256\n...\n\n# List the supported host key types on the SSH client\nguru@lab:~$ ssh -Q key\nssh-ed25519\nssh-ed25519-cert-v01@openssh.com\nsk-ssh-ed25519@openssh.com\nsk-ssh-ed25519-cert-v01@openssh.com\nssh-rsa <--- NOT TRIED\nssh-dss\necdsa-sha2-nistp256\necdsa-sha2-nistp384\necdsa-sha2-nistp521\nsk-ecdsa-sha2-nistp256@openssh.com\nssh-rsa-cert-v01@openssh.com\nssh-dss-cert-v01@openssh.com\necdsa-sha2-nistp256-cert-v01@openssh.com\necdsa-sha2-nistp384-cert-v01@openssh.com\necdsa-sha2-nistp521-cert-v01@openssh.com\nsk-ecdsa-sha2-nistp256-cert-v01@openssh.com\nguru@lab:~$ \n
R1#show ip ssh \nSSH Enabled - version 1.99\nAuthentication methods:publickey,keyboard-interactive,password\nAuthentication Publickey Algorithms:x509v3-ssh-rsa,ssh-rsa\nHostkey Algorithms:x509v3-ssh-rsa,ssh-rsa\nEncryption Algorithms:aes128-ctr,aes192-ctr,aes256-ctr\nMAC Algorithms:hmac-sha2-256,hmac-sha2-512,hmac-sha1,hmac-sha1-96\nKEX Algorithms:diffie-hellman-group-exchange-sha1,diffie-hellman-group14-sha1\n...\n
"},{"location":"blogs/2024/no-matching-key-exchange-method-found/#solution","title":"Solution","text":"

The client (LAB-PC) has to use a host key type that the server (R1) supports; ssh-rsa

LAB-PCR1
guru@lab:~$ ssh -c aes256-cbc -oKexAlgorithms=+diffie-hellman-group-exchange-sha1 -o HostKeyAlgorithms=+ssh-rsa -l admin 192.168.10.254\nThe authenticity of host '192.168.10.254 (192.168.10.254)' can't be established.\nRSA key fingerprint is SHA256:X+55b1YqibQQ6qlzHP/DxeEbUQ7b1J8k9z78syYa3bY.\nThis key is not known by any other names\nAre you sure you want to continue connecting (yes/no/[fingerprint])? yes\nWarning: Permanently added '192.168.10.254' (RSA) to the list of known hosts.\n(admin@192.168.10.254) Password: \n\nR1# \n
R1#show ssh\nConnection Version Mode  Encryption  Hmac          State                Username\n0          2.0     IN   aes256-cbc  hmac-sha2-256 Session started       admin\n0          2.0     OUT  aes256-cbc  hmac-sha2-256 Session started       admin\n\nR1#show users\n    Line       User       Host(s)              Idle       Location\n*  0 con 0                idle                 00:00:00   \n132 vty 0     admin      idle                 00:01:32 192.168.10.2\n\n  Interface    User               Mode         Idle     Peer Address\n\nR1#    \n
"},{"location":"blogs/2024/virtualbox6-guru-meditation/","title":"VirtualBox guru meditation","text":""},{"location":"blogs/2024/virtualbox6-guru-meditation/#problem","title":"Problem","text":"

VirtualBox virtual machines stop working after installing kernel update. Situation:

  • <= 5.15.0-113: ok
  • 5.15.0-116: nok
  • 5.15.0-118: nok
  • (5.15.0-119: fixed but not available yet in the repository)
Step1Step2Step3Step4Step5Step6

You are running Linux Mint 21 kernel 5.15.0-113

You have the most recent VirtualBox 1.6.50 installed from the Linux Mint 21 repository that can run virtual machines.

There is a new kernel 5.15.0-116 available, that you install.

VirtualBox modules get compiled/installed successfully.

Once rebooted with that new 5.15.0-116 kernel, things go wrong when installing/operating VMs.

The log is giving you a \"Guru Meditation\" error.

"},{"location":"blogs/2024/virtualbox6-guru-meditation/#solution1-use-older-working-kernel","title":"Solution1: use older working kernel","text":"

Linux systems frequently receive updates, including new versions of the kernel (the core of the operating system that manages hardware and system resources). However, sometimes a new kernel can introduce compatibility issues with specific hardware or software configurations. By keeping multiple kernels installed, users can easily switch back to an older, stable kernel if the new one causes problems (e.g., hardware drivers not working, system crashes). In Linux Mint 21.3, and most Linux distributions, you can choose different kernels at the GRUB (GRand Unified Bootloader) menu.

On BIOS systems, pressing and holding or sometimes repeatedly tapping the Shift key during boot will bring up the GRUB menu. On UEFI systems, the Esc key is used. If you have a dual-boot setup, GRUB may appear automatically.

An example: you come from kernel 5.15.0-91 -> 5.15.0-113 -> 5.15.0-116 (most recent kernel at the time of writing)

Step1Step2Step3Step4Step5Step6Step7

Do a cold start of Linux Mint 21 and try to get the GRUB menu. Select \"Advanced options...\"

Select the previous working kernel 5.15.0-113.

Once booted into Linux Mint 21 with the old kernel, let's remove the newer kernel. Go to the Mint menu -> Update Manager -> View -> Linux kernels. Select 5.15.0-116 and hit Remove.

Click on Details to see what's happening.

After removing the kernel, it will become available again for installation. Right-click -> Ignore the current update for this package. No newer 5.15 kernel will be installed from now on.

Check the blocked package using Update Manager -> Edit -> Preferences -> Packages.

Reboot Linux Mint 21. It will use the old 5.15.0-113 kernel again. Enjoy working VMs.

"},{"location":"blogs/2024/virtualbox6-guru-meditation/#solution2-install-virtualbox-7020","title":"Solution2: install VirtualBox 7.0.20","text":""},{"location":"blogs/2024/virtualbox6-guru-meditation/#check-the-installed-packages-of-virtualbox-6150","title":"Check the installed packages of VirtualBox 6.1.50","text":"guru@lab:~$_output
dpkg -l | grep -i virtualbox\n
guru@lab:~$ dpkg -l | grep -i virtualbox\nii  virtualbox                                 6.1.50-dfsg-1~ubuntu1.22.04.1       amd64        x86 virtualization solution - base binaries\nii  virtualbox-dkms                            6.1.50-dfsg-1~ubuntu1.22.04.1       amd64        x86 virtualization solution - kernel module sources for dkms\nii  virtualbox-ext-pack                        6.1.50-1~ubuntu1.22.04.1            all          extra capabilities for VirtualBox, downloader.\nii  virtualbox-guest-additions-iso             6.1.50-1~ubuntu1.22.04.1            all          guest additions iso image for VirtualBox\nii  virtualbox-qt                              6.1.50-dfsg-1~ubuntu1.22.04.1       amd64        x86 virtualization solution - Qt based user interface\nguru@lab:~$ \n
"},{"location":"blogs/2024/virtualbox6-guru-meditation/#remove-those-packages","title":"Remove those packages","text":"guru@lab:~$_output
sudo apt purge virtualbox* -y\n
guru@lab:~$ sudo apt purge virtualbox* -y\nReading package lists... Done\nBuilding dependency tree... Done\nReading state information... Done\nNote, selecting 'virtualbox-ext-pack' for glob 'virtualbox*'\nNote, selecting 'virtualbox' for glob 'virtualbox*'\nNote, selecting 'virtualbox-guest-x11' for glob 'virtualbox*'\nNote, selecting 'virtualbox-ose' for glob 'virtualbox*'\nNote, selecting 'virtualbox-ose-fuse' for glob 'virtualbox*'\nNote, selecting 'virtualbox-guest-additions-iso' for glob 'virtualbox*'\nNote, selecting 'virtualbox-guest-modules' for glob 'virtualbox*'\nNote, selecting 'virtualbox-guest-utils' for glob 'virtualbox*'\nNote, selecting 'virtualbox-guest-utils-hwe' for glob 'virtualbox*'\nNote, selecting 'virtualbox-guest-x11-hwe' for glob 'virtualbox*'\nNote, selecting 'virtualbox-modules' for glob 'virtualbox*'\nNote, selecting 'virtualbox-qt' for glob 'virtualbox*'\nNote, selecting 'virtualbox-2.0' for glob 'virtualbox*'\nNote, selecting 'virtualbox-2.1' for glob 'virtualbox*'\nNote, selecting 'virtualbox-2.2' for glob 'virtualbox*'\nNote, selecting 'virtualbox-3.0' for glob 'virtualbox*'\nNote, selecting 'virtualbox-3.1' for glob 'virtualbox*'\nNote, selecting 'virtualbox-3.2' for glob 'virtualbox*'\nNote, selecting 'virtualbox-4.0' for glob 'virtualbox*'\nNote, selecting 'virtualbox-4.1' for glob 'virtualbox*'\nNote, selecting 'virtualbox-4.2' for glob 'virtualbox*'\nNote, selecting 'virtualbox-4.3' for glob 'virtualbox*'\nNote, selecting 'virtualbox-5.0' for glob 'virtualbox*'\nNote, selecting 'virtualbox-5.1' for glob 'virtualbox*'\nNote, selecting 'virtualbox-5.2' for glob 'virtualbox*'\nNote, selecting 'virtualbox-6.0' for glob 'virtualbox*'\nNote, selecting 'virtualbox-6.1' for glob 'virtualbox*'\nNote, selecting 'virtualbox-source' for glob 'virtualbox*'\nNote, selecting 'virtualbox-dkms' for glob 'virtualbox*'\nPackage 'virtualbox-ose' is not installed, so not removed\nPackage 'virtualbox-ose-fuse' is not installed, so not removed\nPackage 'virtualbox-6.1' is not installed, so not removed\nPackage 'virtualbox-6.0' is not installed, so not removed\nPackage 'virtualbox-5.2' is not installed, so not removed\nPackage 'virtualbox-5.1' is not installed, so not removed\nPackage 'virtualbox-5.0' is not installed, so not removed\nNote, selecting 'virtualbox-dkms' instead of 'virtualbox-modules'\nPackage 'virtualbox-2.0' is not installed, so not removed\nPackage 'virtualbox-2.1' is not installed, so not removed\nPackage 'virtualbox-2.2' is not installed, so not removed\nPackage 'virtualbox-3.0' is not installed, so not removed\nPackage 'virtualbox-3.1' is not installed, so not removed\nPackage 'virtualbox-3.2' is not installed, so not removed\nPackage 'virtualbox-4.0' is not installed, so not removed\nPackage 'virtualbox-4.1' is not installed, so not removed\nPackage 'virtualbox-4.2' is not installed, so not removed\nPackage 'virtualbox-4.3' is not installed, so not removed\nPackage 'virtualbox-guest-utils' is not installed, so not removed\nPackage 'virtualbox-guest-utils-hwe' is not installed, so not removed\nPackage 'virtualbox-guest-x11' is not installed, so not removed\nPackage 'virtualbox-guest-x11-hwe' is not installed, so not removed\nPackage 'virtualbox-source' is not installed, so not removed\nThe following packages were automatically installed and are no longer required:\nlibgsoap-2.8.117 liblzf1 libqt5opengl5 libqt5printsupport5 libqt5x11extras5 libsdl1.2debian libvncserver1\nUse 'sudo apt autoremove' to remove them.\nThe following packages will be REMOVED:\nvirtualbox* virtualbox-dkms* virtualbox-ext-pack* virtualbox-guest-additions-iso* virtualbox-qt*\n0 upgraded, 0 newly installed, 5 to remove and 0 not upgraded.\nAfter this operation, 242 MB disk space will be freed.\n(Reading database ... 565959 files and directories currently installed.)\nRemoving virtualbox-qt (6.1.50-dfsg-1~ubuntu1.22.04.1) ...\nRemoving virtualbox-ext-pack (6.1.50-1~ubuntu1.22.04.1) ...\n0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%\nSuccessfully uninstalled \"Oracle VM VirtualBox Extension Pack\".\nSuccessfully performed extension pack cleanup\nRemoving virtualbox (6.1.50-dfsg-1~ubuntu1.22.04.1) ...\nRemoving virtualbox-dkms (6.1.50-dfsg-1~ubuntu1.22.04.1) ...\nModule virtualbox-6.1.50 for kernel 5.15.0-113-generic (x86_64).\nBefore uninstall, this module version was ACTIVE on this kernel.\n\nvboxdrv.ko:\n- Uninstallation\n- Deleting from: /lib/modules/5.15.0-113-generic/updates/dkms/\n- Original module\n- No original module was found for this module on this kernel.\n- Use the dkms install command to reinstall any previous module version.\n\nvboxnetadp.ko:\n- Uninstallation\n- Deleting from: /lib/modules/5.15.0-113-generic/updates/dkms/\n- Original module\n- No original module was found for this module on this kernel.\n- Use the dkms install command to reinstall any previous module version.\n\nvboxnetflt.ko:\n- Uninstallation\n- Deleting from: /lib/modules/5.15.0-113-generic/updates/dkms/\n- Original module\n- No original module was found for this module on this kernel.\n- Use the dkms install command to reinstall any previous module version.\n\ndepmod....\nDeleting module virtualbox-6.1.50 completely from the DKMS tree.\nRemoving virtualbox-guest-additions-iso (6.1.50-1~ubuntu1.22.04.1) ...\nProcessing triggers for hicolor-icon-theme (0.17-2) ...\nProcessing triggers for gnome-menus (3.36.0-1ubuntu3) ...\nProcessing triggers for man-db (2.10.2-1) ...\nProcessing triggers for shared-mime-info (2.1-2) ...\nProcessing triggers for mailcap (3.70+nmu1ubuntu1) ...\nProcessing triggers for desktop-file-utils (0.26+mint3+victoria) ...\n(Reading database ... 565306 files and directories currently installed.)\nPurging configuration files for virtualbox-ext-pack (6.1.50-1~ubuntu1.22.04.1) ...\nPurging configuration files for virtualbox (6.1.50-dfsg-1~ubuntu1.22.04.1) ...\nguru@lab:~$ \n
"},{"location":"blogs/2024/virtualbox6-guru-meditation/#install-virtualbox-7020","title":"Install VirtualBox 7.0.20","text":"

Use the howto Install VirtualBox 7 on Linux Mint 21

"},{"location":"blogs/2024/virtualbox6-guru-meditation/#solution3-use-kernel-650-44","title":"Solution3: use kernel 6.5.0-44","text":"Step1Step2Step3Step4

Go to the Mint menu -> Update Manager -> View -> Linux kernels. The newest kernel 6.8.0-35 (at the time of writing) does not work for VirtualBox 6.1.50

The latest 6.5 branch, version 6.5.0-44 does work. Let's install it.

No errors here.

Reboot Linux Mint 21. It will use the new 6.5.0-44 kernel by default. Enjoy working VMs.

"},{"location":"explanations/","title":"Explanations landing page","text":""},{"location":"explanations/break-sequence-mechanism/","title":"Break sequence mechanism","text":"

The break sequence is a specific key combination that you send from your terminal emulation program to the router during its boot process. When the break sequence is detected, the router stops the boot process and enters ROMmon mode.

The break sequence varies depending on the terminal emulator you are using. Here are some common break sequences for popular terminal emulators:

  • PuTTY: Ctrl + Break
  • Tera Term: Alt + B
  • HyperTerminal: Ctrl + Break
  • SecureCRT: Ctrl + Break or Ctrl + Shift + 6, then b
  • Minicom (Linux): Ctrl + A, then F

For security reasons, you might want to disable the break sequence. By doing this, you prevent unauthorized users from easily accessing ROMmon mode. However, this also means you won't be able to use the break sequence for password recovery. If you need to re-enable the break sequence, you would remove the no service password-recovery command.

"},{"location":"explanations/cisco-switch-router-boot-sequence/","title":"Cisco switch and router boot sequence","text":""},{"location":"explanations/cisco-switch-router-boot-sequence/#general-overview","title":"General overview","text":""},{"location":"explanations/cisco-switch-router-boot-sequence/#step-by-step-boot-process","title":"Step-by-step boot process","text":""},{"location":"explanations/cisco-switch-router-boot-sequence/#power-on-self-test-post","title":"Power-On Self Test (POST)","text":"
  • When a Cisco router or switch is powered on, it performs a Power-On Self Test (POST) to verify the integrity and functionality of its hardware components, including:

    • CPU
    • memory
    • network interfaces
    • detect new installed components (added memory, ...)
  • A switch, for example, checks its system LEDs during this phase, and the System LED will initially be amber. Because a full operating system has not yet been loaded when the switch performs POST, it needs a way to tell the human user if POST worked well, if it failed partly, or if the switch is totally unusable. To communicate the status, the switch uses the light-emitting diodes (LEDs) on the front panel of the switch. During POST, these LEDs have one set of meanings; during normal operation, the LEDs are used for other purposes.

  • The POST is stored in and run from ROM.

SwitchRouter

POST messages on the console.

POST: CPU MIC register Tests : Begin\nPOST: CPU MIC register Tests : End, Status Passed\n\nPOST: PortASIC Memory Tests : Begin\nPOST: PortASIC Memory Tests : End, Status Passed\n\nPOST: CPU MIC interface Loopback Tests : Begin\nPOST: CPU MIC interface Loopback Tests : End, Status Passed\n\nPOST: PortASIC RingLoopback Tests : Begin\nPOST: PortASIC RingLoopback Tests : End, Status Passed\n\nPOST: PortASIC CAM Subsystem Tests : Begin\nPOST: PortASIC CAM Subsystem Tests : End, Status Passed\n\nPOST: PortASIC Port Loopback Tests : Begin\nPOST: PortASIC Port Loopback Tests : End, Status Passed\n...\n

No such thing visible on a Cisco 1941 router.

...\n...\n
"},{"location":"explanations/cisco-switch-router-boot-sequence/#boot-loader-initialization","title":"Boot loader initialization","text":"
  • The \"boot loader\", also called \"boot loader program\" or \"boot loader image\" or \"system bootstrap\" or \"bootstrap\", is the first program executed after \"POST\". It:

    • initializes the basic hardware components, including the CPU, memory and interfaces
    • provides basic system functions such as access to the file system in \"flash\" memory and network interfaces
    • locates the \"IOS image\" in a certain order, depending on the value of the \"configuration register\".
  • It is a small, specialized piece of software/program (no IOS!) typically stored in and run from \"flash\" memory or a dedicated \"boot ROM\".

SwitchRouter

Boot loader in action.

Boot Sector Filesystem (bs) installed, fsid: 2\nBase ethernet MAC Address: b0:c5:3c:26:a0:80\nXmodem file system is available.\nThe password-recovery mechanism is enabled.\n...\n...\nSwitch#show version\n...\nROM: Bootstrap program is C2960 boot loader\nBOOTLDR: C2960 Boot Loader (C2960-HBOOT-M) Version 15.0(2r)EZ1, RELEASE SOFTWARE (fc1)\n...\n\n...\n

Boot loader in action.

System Bootstrap, Version 15.0(1r)M16, RELEASE SOFTWARE (fc1)\nTechnical Support: http://www.cisco.com/techsupport\nCopyright (c) 2012 by cisco Systems, Inc.\n\nTotal memory size = 512 MB - On-board = 512 MB, DIMM0 = 0 MB\nCISCO1941/K9 platform with 524288 Kbytes of main memory\nMain memory is configured to 64/-1(On-board/DIMM0) bit mode with ECC disabled\n\nReadonly ROMMON initialized\nprogram load complete, entry point: 0x80803000, size: 0x1b340\nprogram load complete, entry point: 0x80803000, size: 0x1b340\n...\n...\nRouter#show version\n...\nROM: System Bootstrap, Version 15.0(1r)M16, RELEASE SOFTWARE (fc1)\n...\n
"},{"location":"explanations/cisco-switch-router-boot-sequence/#read-the-configuration-register","title":"Read the configuration register","text":"

The \"configuration register\" is a special 16-bit value used to control various aspects of the device's behavior during the boot process. The purpose and functionality of the configuration register differ slightly between Cisco switches like the Catalyst 2960 and routers like the Cisco 1941. It is stored in NVRAM.

SwitchRouter

Configuration register of a switch.

Switch#show version | incl Configuration\nConfiguration register is 0xF\nSwitch#\n

Configuration register of a router.

Router#show version | incl Configuration\nConfiguration register is 0x2102\nRouter#\n
"},{"location":"explanations/cisco-switch-router-boot-sequence/#router","title":"Router","text":"

For Cisco routers, including the Cisco 1941, the configuration register plays a crucial role in various aspects of the device\u2019s operation, including:

  • Determining How the Router Boots
    • Booting into ROMMON Mode: setting the configuration register to a value such as 0x???? tells the router to boot into ROMMON mode, which is useful for recovery operations.
    • Booting from a Specific Image: Different values can instruct the router to boot from different IOS images or locations, such as from flash memory or a TFTP server.
  • Specifying Baud Rate: certain configuration register settings can change the console port baud rate for communication.
  • Controlling Boot Options
    • Controlling Boot Options
      • ignore NVRAM Contents: setting the configuration register to 0x2142 tells the router to ignore the saved configuration in NVRAM. This is commonly used for password recovery as it allows the router to boot with a default configuration without overwriting the existing saved configuration.
  • Configuring Break Sequence Behavior: the configuration register can enable or disable the break sequence, allowing access to ROMMON mode during boot.
"},{"location":"explanations/cisco-switch-router-boot-sequence/#switch","title":"Switch","text":"

For Cisco Catalyst 2960 switches, the concept of a configuration register as seen in routers does not apply. Instead, similar functionalities are handled through different commands and settings.

  • Boot Parameters and Environment Variables: Cisco 2960 switches use environment variables and specific boot commands to control boot behavior. Commands like boot enable-break or setting the ... variable from ROMMON are used to control boot parameters and recovery options.
  • Password Recovery Mechanism: the command service password-recovery within IOS is used to enable or disable the password recovery mechanism.
"},{"location":"explanations/cisco-switch-router-boot-sequence/#executing-ios","title":"Executing IOS","text":""},{"location":"explanations/cisco-switch-router-boot-sequence/#system-initialization","title":"System Initialization","text":""},{"location":"explanations/cisco-switch-router-boot-sequence/#recovery-and-troubleshooting","title":"Recovery and troubleshooting","text":"

A Cisco router drops into \"ROMMON-mode\" or \"ROM monitor MODE\" (rommon 1> prompt). A switch \"boot loader mode\" is not the same as a router \"ROMMON-mode\"!

Boot loader modeROMMON-modeRXBOOT

The boot loader provides a command-line interface (CLI) that allows for recovery and diagnostic functions. If the main IOS image cannot be loaded, the \"boot loader mode\" can be used to perform tasks such as loading a new IOS image, recovering passwords, or formatting the flash memory.

...\nswitch:\n...\n

ROMMON-mode is a lower-level diagnostic and recovery environment than the \"boot loader mode\". It provides a more comprehensive set of commands for troubleshooting, hardware diagnostics, and recovery operations. It is used when the device fails to load the \"boot loader\" or \"IOS\", or when manually invoked for recovery purposes using \"break\" or via the \"configuration register\". \"Break\" (system interrupt) is always enabled for 60 seconds after the router reboots, regardless of whether it is configured on or off in the \"configuration register\". During this 60-second window, you can break to the ROM monitor prompt by pressing the \"Break key\".

...\nrommon 1>\n...\n

Older routers (e.g. Cisco AS2511 or Cisco 1600) would actually run IOS straight from FLASH, so you could not overwrite it whilst running, they did not have the ability to load an IOS image via the network either, so you needed to use RXBOOT, a reduced command set image. It contains only IP-code (but no routing capabilities!) just to able to boot from tFTP and mainly used to download \"system images\" to a router. You can see it as an intermediate step between the ROMMON mode and the IOS mode. RXBOOT is also called:

  • a \"mini operating system\" (0x2101)
  • a \"MINI-IOS\"
  • a \"limited functions IOS\"
  • a \"limited feature IOS\"
  • a \"partial IOS\"
  • a \"cut-down version of IOS\"
  • a \"stripped down version of IOS\"
  • a \"helper image\"
  • a \"subset of IOS image\"

Modern day routers don\u2019t have that (0x2102). RXBOOT is stored in ROM (low-end routers) or bootflash (high-end routers).

...\nX\n...\n
"},{"location":"explanations/cisco-switch-router-components/","title":"Cisco switch and router components","text":"

The hardware components of a Cisco switch and router include the following:

"},{"location":"explanations/cisco-switch-router-components/#chassis","title":"Chassis","text":"

The physical casing that houses all internal components of the switch. It includes mounting options for rack or wall installation.

"},{"location":"explanations/cisco-switch-router-components/#power-supply-unit-psu","title":"Power Supply Unit (PSU)","text":"

Provides the necessary power to the switch. Some models come with internal power supplies, while others support external power supplies. Additionally, some models offer Power over Ethernet (PoE) or PoE+ capabilities.

"},{"location":"explanations/cisco-switch-router-components/#central-processing-unit-cpu","title":"Central Processing Unit (CPU)","text":"

Manages the switch's operations, processing control plane activities, and executing the switch's operating system (IOS).

"},{"location":"explanations/cisco-switch-router-components/#memory","title":"Memory","text":"

Cisco devices have many different locations where they can store images, configuration files, and microcode.

"},{"location":"explanations/cisco-switch-router-components/#flash","title":"FLASH","text":"
  • non-volatile (permanent) after reboot
  • a kind of EEPROM designed for high speed and high density
  • different types, depending on the hardware (EPROM, SIMM, DIMM, Flash memory card)
  • stores the Cisco \"IOS image\" and VLAN database file \"vlan.dat\"
  • different forms, depending on the hardware

    • internal (onboard)

      • flash:
        • the main \u201cFlash memory storage area\u201d on all platforms
        • alias slot0: for platforms without a device named flash:
        • can store as many \"IOS images\" as there is space to hold
      • bootflash:
        • depending on model/essentially the difference is just naming convention between \u201dflash:\u201d and \u201cbootflash:\u201d
        • can store \"images\", \"configuration files\", crashinfo, \u2026 but generally hosts a (small basic) \"bootloader program\u201d on high-end systems
    • external (removable)

      • a Flash memory card that is inserted in to a Personal Computer Memory Card International Association (PCMCIA) slot
      • additional flash memory
      • slot0: PCMCIA flash card in slot0, slot1: PCMCIA flash card in slot1
    • some routers, including the Cisco 2500 series routers, do not have sufficient RAM to hold the Cisco \"IOS image\" and, therefore, run the Cisco \"IOS image\" directly from flash memory (Cisco IOS images that are run from flash memory are not compressed)
    • has a directory structure and typical flash commands (dir, format, copy, del)
"},{"location":"explanations/cisco-switch-router-components/#sdram","title":"(SD)RAM","text":"
  • (Synchronous Dynamic) Random Access Memory
  • volatile (temporary memory)
  • 2 types:
    • primary, main, or processor memory, which is reserved for the CPU to execute Cisco IOS software and to hold the running configuration and routing tables
    • shared, packet, or I/O memory, which buffers data transmitted or received by the router\u2019s network interfaces
  • provides temporary storage for the operating system during runtime and for data structures used by the CPU
  • fastest amongst all memories
  • often comes on dual in-line memory modules (DIMMs)
  • runs the \"IOS image\"
"},{"location":"explanations/cisco-switch-router-components/#nvram","title":"NVRAM","text":"
  • Non Volatile Random Access Memory
  • small chunk of RAM between 32 K and 128 K in size
  • kept alive by a battery in the system board so the contents are not lost
  • stores the \"startup-configuration\" and the software \"configuration register\"
"},{"location":"explanations/cisco-switch-router-components/#eprom","title":"(EP)ROM","text":"
  • (Electrically Erasable) Read Only Memory
  • non-volatile (permanent): code defined in silicon, cannot accidentally be erased by users
  • often referred to simply as \"ROM\"
  • stores hardcoded micro-code: POST, bootstrap, ROMMON, RXBoot (mini-IOS), ...
"},{"location":"explanations/cisco-switch-router-components/#switching-fabric","title":"Switching Fabric","text":"

The internal architecture that handles data packet processing and switching within the switch.

"},{"location":"explanations/cisco-switch-router-components/#network-ports","title":"Network Ports","text":"
  • Ethernet Ports: The primary interfaces for connecting devices, available in various speeds (Fast Ethernet, Gigabit Ethernet).
  • Uplink Ports: Often support higher speeds (Gigabit or 10 Gigabit Ethernet) and are used to connect to other switches or routers in the network.
"},{"location":"explanations/cisco-switch-router-components/#poe-controllers","title":"PoE Controllers","text":"

In PoE models, these controllers manage the power distribution to connected devices (such as IP phones or wireless access points) over Ethernet cables.

"},{"location":"explanations/cisco-switch-router-components/#led-indicators","title":"LED Indicators","text":"

Provide status information for power, network activity, and port status, helping with troubleshooting and monitoring.

"},{"location":"explanations/cisco-switch-router-components/#cooling-system","title":"Cooling System","text":"

Includes fans and heat sinks to manage the thermal output and maintain optimal operating temperatures for the switch components.

"},{"location":"explanations/cisco-switch-router-components/#console-and-management-ports","title":"Console and Management Ports","text":"
  • Console Port: Used for initial setup and configuration via a direct serial connection.
  • Management Ethernet Port: Provides out-of-band management access to the switch.
"},{"location":"explanations/cisco-switch-router-components/#asics","title":"ASICs","text":"

Application-Specific Integrated Circuits: custom chips designed to handle specific tasks such as packet forwarding, QoS (Quality of Service), and security features, offloading these tasks from the CPU.

"},{"location":"explanations/cisco-switch-router-components/#backplane","title":"Backplane","text":"

The internal data pathway that interconnects the various components, allowing data to move efficiently within the switch.

These components work together to provide the functionality required for network connectivity, management, and performance in an enterprise environment.

"},{"location":"explanations/password-recovery-mechanism/","title":"Password recovery mechanism","text":"

The password recovery mechanism on a Cisco 2960 Catalyst switch can be enabled or disabled to balance security needs and administrative accessibility. Here\u2019s why an organization might choose to enable or disable this feature.

"},{"location":"explanations/password-recovery-mechanism/#enable","title":"Enable","text":"
  • Accidental Lockout Recovery: Administrators may forget passwords or lose access credentials. Enabling password recovery ensures they can regain access without drastic measures like a full device reset, which could result in configuration loss.

  • Quick Access Restoration: In critical environments where uptime and quick recovery are essential, being able to quickly recover passwords helps minimize downtime and maintain network operations smoothly.

  • Administrative Ease: Simplifies management for environments where many devices are maintained by different administrators who might occasionally need to recover access.

"},{"location":"explanations/password-recovery-mechanism/#disable","title":"Disable","text":"
  • Enhanced Security: Disabling password recovery prevents unauthorized physical access from leading to device compromise. If someone gains physical access to the switch, they cannot simply use the password recovery procedure to break into the system.

  • Compliance Requirements: Some industries and regulatory environments require strict controls on access to network devices. Disabling password recovery can help meet these stringent security policies.

  • Controlled Access: Ensures that only individuals with proper credentials and authorization can make changes to the network configuration, adding an additional layer of security.

"},{"location":"howtos/","title":"Howtos overview","text":""},{"location":"howtos/#what","title":"What?","text":"

How-to guides are directions that take you, the reader, through the steps required to solve a real-world problem. They are goal-oriented.

"},{"location":"howtos/#say-what","title":"Say what?","text":"

You need to be able to accomplish things. Done well, they are the most-read sections of your documentation.

"},{"location":"howtos/#what-they-do","title":"What they do","text":"

They guide. They demonstrate.

"},{"location":"howtos/#answers-the-question","title":"Answers the question","text":"

\"How do I...?\"

"},{"location":"howtos/#oriented-to","title":"Oriented to","text":"

Goals. Tasks. They serve the need of the user @work. They put the skill to work, help the user accomplish a task.

"},{"location":"howtos/#purpose","title":"Purpose","text":"
  • to show how to solve a specific problem/question
  • to help the already-competent user perform a particular task correctly
"},{"location":"howtos/#form","title":"Form","text":"

A series of steps.

"},{"location":"howtos/#analogy","title":"Analogy","text":"

Not teaching someone how to cook, but follow a recipe in a cookery book.

"},{"location":"howtos/#my-responsability","title":"My responsability","text":"

Stick to the practical goal.

"},{"location":"howtos/#approach","title":"Approach","text":"
  • I won\u2019t explain concepts/things, but refer to a reference guide for a full list of options
  • I'll provide a starting-point that you know how to reach; most likely, you will also be in the middle of something
  • the path can\u2019t be managed: it\u2019s the real world!
  • I'll assume familiarity
  • howtos apply to the real world: you will have to deal with what I'll throw at you
  • you must prepare for the unexpected
  • you wil have to rely on implicit knowledge
  • and complete a particular task
  • howtos are reliable, but not the cast-iron repeatability of a tutorial, they cannot promise safety
  • I'll use conditional imperatives
  • and general approaches
  • howtos will typically fork and branch, describing different routes to the same destination
"},{"location":"howtos/access-cisco-device-rommon/","title":"Access a Cisco device in ROMMON-mode","text":""},{"location":"howtos/access-cisco-device-rommon/#prereqs","title":"Prereqs","text":"
  • a PC (BIOS/UEFI) running Linux Mint 21
    • minicom terminal emulation software
  • a console cable
  • a Cisco 2960 24TT-L or 24TC-L Plus switch
  • a Cisco 1941 router
"},{"location":"howtos/access-cisco-device-rommon/#cisco-2960-switch","title":"Cisco 2960 switch","text":""},{"location":"howtos/access-cisco-device-rommon/#setup","title":"Setup","text":""},{"location":"howtos/access-cisco-device-rommon/#from-ios","title":"From IOS","text":"Step1Step2Step3(Step4)

By default, the switch will boot the configured boot image automatically, without waiting for user input.

Switch#show boot\nBOOT path-list      : flash:c2960-lanbasek9-mz.150-2.SE11.bin\nConfig file         : flash:/config.text\nPrivate Config file : flash:/private-config.text\nEnable Break        : yes\nManual Boot         : no\n...\n

Bypass the normal boot process and enter ROMMON mode directly upon the next reboot.

Switch#configure terminal\nEnter configuration commands, one per line.  End with CNTL/Z.\nSwitch(config)#boot manual \nSwitch(config)#end\n\nSwitch#show boot\nBOOT path-list      : flash:c2960-lanbasek9-mz.150-2.SE11.bin\nConfig file         : flash:/config.text\nPrivate Config file : flash:/private-config.text\nEnable Break        : yes\nManual Boot         : yes\n...\n\nSwitch#reload\n\nSystem configuration has been modified. Save? [yes/no]: no      <----- if asked\nProceed with reload? [confirm]                                  <----- press <Enter>\n\n*Mar  1 16:21:22.615: %SYS-5-RELOAD: Reload requested by console. Reload Reason: Reload command.\n...\n

We're in ROMMON-mode.

Boot Sector Filesystem (bs) installed, fsid: 2\nBase ethernet MAC Address: bc:f1:f2:59:06:00\nXmodem file system is available.\nThe password-recovery mechanism is disabled.\nInitializing Flash...\nflashfs[0]: 6 files, 3 directories\nflashfs[0]: 0 orphaned files, 0 orphaned directories\nflashfs[0]: Total bytes: 65544192\nflashfs[0]: Bytes used: 16074240\nflashfs[0]: Bytes available: 49469952\nflashfs[0]: flashfs fsck took 18 seconds.\n...done Initializing Flash.\ndone.\n\nThe system is not configured to boot automatically.  The\nfollowing command will finish loading the operating system\nsoftware:\n\n    boot\n\nswitch: \n

To \"undo\" the manual boot and return to IOS, you have 2 options. Either

  • first unset the variable from within ROMMON and boot into IOS
  • boot into IOS and unset the boot variable from within IOS
# option1\nswitch: set\n!=-\n...\nMANUAL_BOOT=yes\n...\nswitch: unset MANUAL_BOOT\nswitch: boot\nLoading \"flash:c2960-lanbasek9-mz.150-2.SE11.bin\"...@@@@@@@@\n...\nSwitch#\n\n# option2\nswitch: boot\nLoading \"flash:c2960-lanbasek9-mz.150-2.SE11.bin\"...@@@@@@@@\n...\n\nSwitch#configure terminal\nSwitch(config)#no boot manual\nSwitch(config)#end\nSwitch#\n
"},{"location":"howtos/access-cisco-device-rommon/#missing-or-corrupt-ios","title":"Missing or corrupt IOS","text":"Step1Step2(Step3)

Let's simulate a non-working IOS by \"accidently\" erasing the \"flash\" filesystem. Restart the switch afterwards.

Switch#erase flash:\nErasing the flash filesystem will remove all files! Continue? [confirm]\nflashfs[2]: 0 files, 1 directories\nflashfs[2]: 0 orphaned files, 0 orphaned directories\nflashfs[2]: Total bytes: 65544192\nflashfs[2]: Bytes used: 1024\nflashfs[2]: Bytes available: 65543168\nflashfs[2]: flashfs fsck took 25 seconds.\nErase of flash: complete\n\nSwitch#dir flash:\nDirectory of flash:/\n\nNo files in directory\n\n65544192 bytes total (65543168 bytes free)\n\nSwitch#reload\n\nSystem configuration has been modified. Save? [yes/no]: no          <----- if asked\nProceed with reload? [confirm]                                      <----- press <Enter>\n\n*Mar  1 00:28:22.946: %SYS-5-RELOAD: Reload requested by console. Reload Reason: Reload command.\n...\n

The BOOT environment variable is still set to boot c2960-lanbasek9-mz.150-2.SE11.bin but it's not there. The switch will not be able to boot and will enter ROMMON-mode automatically.

Welcome to minicom 2.8\n\nOPTIONS: I18n \nPort /dev/ttyUSB0, 09:36:24\n\nPress CTRL-A Z for help on special keys\n\nBoot Sector Filesystem (bs) installed, fsid: 2\nBase ethernet MAC Address: bc:f1:f2:59:06:00\nXmodem file system is available.\nThe password-recovery mechanism is enabled.                     ---> or \"disabled\"\nInitializing Flash...\nflashfs[0]: 3 files, 1 directories\nflashfs[0]: 0 orphaned files, 0 orphaned directories\nflashfs[0]: Total bytes: 65544192\nflashfs[0]: Bytes used: 12800\nflashfs[0]: Bytes available: 65531392\nflashfs[0]: flashfs fsck took 18 seconds.\n...done Initializing Flash.\ndone.\nLoading \"flash:c2960-lanbasek9-mz.150-2.SE11.bin\"...flash:c2960-lanbasek9-mz.150-2.SE11.bin: no such file or directory\n\nError loading \"flash:c2960-lanbasek9-mz.150-2.SE11.bin\"\n\nInterrupt within 5 seconds to abort boot process.\nBoot process failed...\n\nThe system is unable to boot automatically.  The BOOT\nenvironment variable needs to be set to a bootable\nimage.\n\nswitch: \n

To be able to boot again, you have to reinstall IOS.

"},{"location":"howtos/access-cisco-device-rommon/#break-sequence","title":"Break sequence","text":"Step1Step2Step3(Step4)
  • If you have access to a working IOS, verify if the break sequence mechanism is enabled or not. If not, enable it.
  • If you do not have access to a working IOS, you can only \"try\" if the break sequence works. If not, you have to use the \"cold start\" method.
Switch#show boot | include Break\nEnable Break        : no\n\nSwitch#configure terminal \nEnter configuration commands, one per line.  End with CNTL/Z.\nSwitch(config)#boot enable-break \nSwitch(config)#end\n\nSwitch#show boot | include Break\nEnable Break        : yes\n

Power cycle the switch or \"reload\" from within a running IOS. Immediately after the switch starts booting (within the first X seconds), send the break sequence from your terminal emulator. For Minicom, press Ctrl + A then F. The switch should respond by stopping the boot process and entering ROMMON mode, indicated by the switch: prompt.

Switch#reload\nProceed with reload? [confirm]\n\n*Mar  1 00:13:45.539: %SYS-5-RELOAD: Reload requested by console. Reload Reason: Reload command.\nBoot Sector Filesystem (bs) installed, fsid: 2\nBase ethernet MAC Address: b0:c5:3c:26:a0:80\nXmodem file system is available.\n### I sent the break signal about here ###\nThe password-recovery mechanism is enabled.\nInitializing Flash...\nflashfs[0]: filesystem check interrupted!\n...done Initializing Flash.\n\nThe system has been interrupted, or encountered an error\nduring initialization of the flash filesystem.  The following\ncommands will initialize the flash filesystem, and finish\nloading the operating system software:\n\n    flash_init\n    boot\n\nswitch: \n

Flash did not get initialized. You have to do that manually.

switch: flash_init\nInitializing Flash...\nflashfs[0]: 2 files, 1 directories\nflashfs[0]: 0 orphaned files, 0 orphaned directories\nflashfs[0]: Total bytes: 65544192\nflashfs[0]: Bytes used: 11835904\nflashfs[0]: Bytes available: 53708288\nflashfs[0]: flashfs fsck took 19 seconds.\n...done Initializing Flash.\n\nswitch: \n

To return to IOS, just boot the switch.

switch: boot\nLoading \"flash:c2960-lanbasek9-mz.150-2.SE11.bin\"...@@@@@@@\n...\nSwitch#\n
"},{"location":"howtos/access-cisco-device-rommon/#cold-start","title":"Cold start","text":"Step1Step2Step3aStep3b(Step4)

First disconnect the power cable from the switch. Minicom gives no output yet.

Welcome to minicom 2.8\n\nOPTIONS: I18n \nPort /dev/ttyUSB0, 13:50:27\n\nPress CTRL-A Z for help on special keys\n\n<blinking_cursor>\n

Now reconnect the power cable. The switch boots and while doing the POST, the SYST LED blinks green. This takes about X seconds. After POST, the blinking LED changes pattern. Press the Mode button once.

If the password recovery mechanism is enabled, you have to manually initialize flash.

Welcome to minicom 2.8\n\nOPTIONS: I18n \nPort /dev/ttyUSB0, 09:44:08\n\nPress CTRL-A Z for help on special keys\n\nBoot Sector Filesystem (bs) installed, fsid: 2\nBase ethernet MAC Address: bc:f1:f2:59:06:00\nXmodem file system is available.\nThe password-recovery mechanism is enabled.\nInitializing Flash...\nflashfs[0]: filesystem check interrupted!\n...done Initializing Flash.\n\nThe system has been interrupted, or encountered an error\nduring initialization of the flash filesystem.  The following\ncommands will initialize the flash filesystem, and finish\nloading the operating system software:\n\n    flash_init\n    boot\n\nswitch: \n\nswitch: flash_init\nInitializing Flash...\nflashfs[0]: 6 files, 3 directories\nflashfs[0]: 0 orphaned files, 0 orphaned directories\nflashfs[0]: Total bytes: 65544192\nflashfs[0]: Bytes used: 16081408\nflashfs[0]: Bytes available: 49462784\nflashfs[0]: flashfs fsck took 19 seconds.\n...done Initializing Flash.\n\nswitch: \n

If the password recovery mechanism is disabled, you will lose all the configuration. Flash is initialised for you. Choose \"y\" at the prompt.

Welcome to minicom 2.8\n\nOPTIONS: I18n \nPort /dev/ttyUSB0, 09:44:08\n\nPress CTRL-A Z for help on special keys\n\nBoot Sector Filesystem (bs) installed, fsid: 2\nBase ethernet MAC Address: bc:f1:f2:59:06:00\nXmodem file system is available.\nThe password-recovery mechanism is disabled.\nInitializing Flash...\nflashfs[0]: 6 files, 3 directories\nflashfs[0]: 0 orphaned files, 0 orphaned directories\nflashfs[0]: Total bytes: 65544192\nflashfs[0]: Bytes used: 16131584\nflashfs[0]: Bytes available: 49412608\nflashfs[0]: flashfs fsck took 19 seconds.\n...done Initializing Flash.\ndone.\n\nThe password-recovery mechanism has been triggered, but\nis currently disabled.  Access to the boot loader prompt\nthrough the password-recovery mechanism is disallowed at\nthis point.  However, if you agree to let the system be\nreset back to the default system configuration, access\nto the boot loader prompt can still be allowed.\n\nWould you like to reset the system back to the default configuration (y/n)?y            ---> answer \"y\"\n\nThe system has been interrupted, and the config file\nhas been deleted.  The following command will finish\nloading the operating system software:\n\nboot\n\nswitch: \n

To return to IOS, just boot the switch.

switch: boot\nLoading \"flash:c2960-lanbasek9-mz.150-2.SE11.bin\"...@@@@@@@\n...\nSwitch#\n
"},{"location":"howtos/access-cisco-device-rommon/#cisco-1941-router","title":"Cisco 1941 router","text":""},{"location":"howtos/access-cisco-device-rommon/#setup_1","title":"Setup","text":""},{"location":"howtos/access-cisco-device-rommon/#from-ios_1","title":"From IOS","text":"Step1Step2Step3(Step4)

The \"show boot\" command is not available on a Cisco 1941 router, like it is for a Cisco 2960 switch. You can still display the boot system commands in the running configuration, if any.

# if no boot statement is present, an IOS will be searched on flash\nRouter#show running-config | include boot\nboot-start-marker\nboot-end-marker\n\n# if a boot statement is present, that IOS will be booted\nRouter#configure terminal\nEnter configuration commands, one per line.  End with CNTL/Z.\nRouter(config)#boot system flash:c1900-universalk9-mz.SPA.157-3.M8.bin\nRouter(config)#end\n\nRouter#show running-config | include boot\nboot-start-marker\nboot system flash:c1900-universalk9-mz.SPA.157-3.M8.bin\nboot-end-marker\nRouter#\n

There is also no \"boot manual\" command; you have to change the configuration register from within IOS to boot into ROMMON.

Router#show version | include Configuration register\nConfiguration register is 0x2102\n\nRouter#configure terminal \nEnter configuration commands, one per line.  End with CNTL/Z.\nRouter(config)#config-register 0x0\nRouter(config)#end\n\nRouter#show version | include Configuration register\nConfiguration register is 0x2102 (will be 0x0 at next reload)\n\nRouter#reload\n\nSystem configuration has been modified. Save? [yes/no]: no          <--- I won't save the \"boot system\" command for now\nProceed with reload? [confirm]                                      <--- press <Enter>\n

We're in ROMMON-mode.

System Bootstrap, Version 15.0(1r)M16, RELEASE SOFTWARE (fc1)\nTechnical Support: http://www.cisco.com/techsupport\nCopyright (c) 2012 by cisco Systems, Inc.\n\nTotal memory size = 512 MB - On-board = 512 MB, DIMM0 = 0 MB\nCISCO1941/K9 platform with 524288 Kbytes of main memory\nMain memory is configured to 64/-1(On-board/DIMM0) bit mode with ECC disabled\n\nReadonly ROMMON initialized\nrommon 1 > \n

To return to IOS, you have 2 options. Either

  • first set the configuration register back to its initial value from within ROMMON and then boot into IOS (fastest)
  • boot into IOS, set the configuration register back to its initial value from within IOS and reload again (slowest)
# option1\nrommon 1 > confreg 0x2102\n\nYou must reset or power cycle for new config to take effect\n\nrommon 2 > reset\n...\nRouter#\n\n# option2\nrommon 1 > boot\nprogram load complete, entry point: 0x80803000, size: 0x1b340\nprogram load complete, entry point: 0x80803000, size: 0x1b340\n...\n\nRouter#show version | include Configuration register\nConfiguration register is 0x0\n\nRouter#configure terminal\nEnter configuration commands, one per line.  End with CNTL/Z.\nRouter(config)#config-register 0x2102\nRouter(config)#end\n\nRouter#show ver | include Configuration register\nConfiguration register is 0x0 (will be 0x2102 at next reload)\n\nRouter#reload\n...\n
"},{"location":"howtos/access-cisco-device-rommon/#missing-or-corrupt-ios_1","title":"Missing or corrupt IOS","text":"Step1Step2

Let's simulate a non-working IOS by \"accidently\" erasing the \"flash\" filesystem. You cannot use the \"erase (/all) flash:\" command like with a Cisco 2960 switch. You have to \"format\" it. Restart the router afterwards.

Router#format flash:\nFormat operation may take a while. Continue? [confirm]\nFormat operation will destroy all data in \"flash:\".  Continue? [confirm]\nWriting Monlib sectors.....\nMonlib write complete \n\nFormat: All system sectors written. OK...\n\nFormat: Total sectors in formatted partition: 501728\nFormat: Total bytes in formatted partition: 256884736\nFormat: Operation completed successfully.\n\nFormat of flash0: complete\n\nRouter#dir flash:\nDirectory of flash0:/\n\nNo files in directory\n\n256475136 bytes total (256475136 bytes free)\n\nRouter#reload\n...\n

The router will not be able to boot and will enter ROMMON-mode automatically.

System Bootstrap, Version 15.0(1r)M16, RELEASE SOFTWARE (fc1)\nTechnical Support: http://www.cisco.com/techsupport\nCopyright (c) 2012 by cisco Systems, Inc.\n\nTotal memory size = 512 MB - On-board = 512 MB, DIMM0 = 0 MB\nCISCO1941/K9 platform with 524288 Kbytes of main memory\nMain memory is configured to 64/-1(On-board/DIMM0) bit mode with ECC disabled\n\nReadonly ROMMON initialized\nprogram load complete, entry point: 0x80803000, size: 0x1b340\nboot: cannot determine first executable file name ondevice \"flash0:\"\n...\n...\nrommon 1 >\n
"},{"location":"howtos/access-cisco-device-rommon/#break-sequence_1","title":"Break sequence","text":"Step1Step2

To my knowledge, there is no break sequence mechanism on a Cisco 1941 router like there is on a Cisco 2960 switch. There is no such thing as \"boot enable-break\" to en/disable the break sequence behavior. Just poower cycle the router or \"reload\" from within a running IOS.

Router#reload\nProceed with reload? [confirm]\n\n*Mar 16 14:04:39.603: %SYS-5-RELOAD: Reload requested by console. Reload Reason: Reload Command.\n

Immediately after the router starts booting (within the first X seconds), send the break sequence from your terminal emulator. For Minicom, press Ctrl + A then F. The router should respond by stopping the boot process and entering ROMMON mode, indicated by the rommon X> prompt.

System Bootstrap, Version 15.0(1r)M16, RELEASE SOFTWARE (fc1)\nTechnical Support: http://www.cisco.com/techsupport\nCopyright (c) 2012 by cisco Systems, Inc.\n\nTotal memory size = 512 MB - On-board = 512 MB, DIMM0 = 0 MB\n### I sent the break signal about here ###\nCISCO1941/K9 platform with 524288 Kbytes of main memory\nMain memory is configured to 64/-1(On-board/DIMM0) bit mode with ECC disabled\n\nReadonly ROMMON initialized\nrommon 1 > \n
"},{"location":"howtos/access-cisco-device-rommon/#cold-start_1","title":"Cold start","text":"

There is no \"MODE button\" like with a Cisco 2960 switch to interrupt the boot sequence with.

"},{"location":"howtos/acquire-valid-ios-image/","title":"Acquire a valid Cisco IOS image","text":"

todo...

"},{"location":"howtos/clone-windows11-virtualbox/","title":"Clone a Windows 11 virtual machine in VirtualBox 6.1.44","text":""},{"location":"howtos/clone-windows11-virtualbox/#prereqs","title":"Prereqs","text":"
  • an existing Windows 11 virtual machine
"},{"location":"howtos/clone-windows11-virtualbox/#virtualbox","title":"VirtualBox","text":"Step1Step2Step3Step4Step5Step6

In this example, the \"Current state\" equals the \"Clean install\" snapshot (otherwise it would have been \"Current state (Changed)\")

Select \"Machine -> Clone\".

Click on the \"Expert mode\" button to show extra options.

Change the name of the virtual machine. Clone type: full clone. Snapshots: current machine state. Be sure to generate new MAC addresses for all network adapters. Look at the screenshot below.

Click \"Clone\". This won't take too long.

Endresult: a clone of vm6 without snapshot(s).

"},{"location":"howtos/clone-windows11-virtualbox/#ip-address","title":"IP address","text":"Step1Step2Step3Step4Step5

Start the cloned virtual machine \"vm7\" and login. Right-click on the network icon on the bottom-right taskbar -> Network and Internet settings.

Select \u201cEthernet\u201d.

Select \u201cEdit\u201d. Change the IP address.

Click \"Start\" and typ \"cmd\" to open a command prompt: verify the internet connection.

The network icon on the bottom-right taskbar should look like this:

"},{"location":"howtos/clone-windows11-virtualbox/#computername","title":"Computername","text":"Step1Step2

Right-click on \"Start -> System. Change the computer name to \"vm7\". Click \"Next\" and select \"Restart now\".

Login after reboot and shutdown Windows.

"},{"location":"howtos/clone-windows11-virtualbox/#snapshot","title":"Snapshot","text":"Step1Step2Step3Step4

Select \"Machine -> Tools -> Snapshots\".

Select \"Current State\" and click \"Take\". Give a proper name, like \"Clean install\". A good \"Snapshot Description\" can be handy!

If you change \"something\" in this virtual machine, you will get \"Current State (changed)\". Want to revert those changes? Select \"Clean install\" and click \"Restore\". Be sure to remove the checkbox at \"Create a snapshot of the current machine state\" or you'll end up with another snapshot.

You know if the snapshot has been properly restored, if the \"Current State\" equals the \"Clean install\" again.

"},{"location":"howtos/clone-windows2022-virtualbox/","title":"Clone a Windows Server 2022 virtual machine in VirtualBox 6.1.44","text":""},{"location":"howtos/clone-windows2022-virtualbox/#prereqs","title":"Prereqs","text":"
  • an existing Windows Server 2022 virtual machine
"},{"location":"howtos/clone-windows2022-virtualbox/#virtualbox","title":"VirtualBox","text":"Step1Step2Step3Step4Step5Step6

In this example, the \"Current state\" equals the \"Clean install\" snapshot (otherwise it would have been \"Current state (Changed)\")

Select \"Machine -> Clone\".

Click on the \"Expert mode\" button to show extra options.

Change the name of the virtual machine. Clone type: full clone. Snapshots: current machine state. Be sure to generate new MAC addresses for all network adapters. Look at the screenshot below.

Click \"Clone\". This won't take too long.

Endresult: a clone of \"vm16\" without snapshot(s).

"},{"location":"howtos/clone-windows2022-virtualbox/#sysprep","title":"Sysprep","text":"

Sysprep is used to remove system-specific information from a Windows installation, such as the computer name and security identifier (SID). This is necessary, if you want to add a cloned Windows machine to a Windows active directory domain.

Step1Step2Step3Step4Step5Step6

Boot the newly cloned VM and login. Start Explorer and navigate to \"c:\\Windows\\System32\\Sysprep\". Right-click on \"sysprep\" and select \"Run as Administrator\".

Select \"Enter System Out-of-Box Experience (OOBE)\" and put a check next to \"Generalize\". Select \"Reboot\" as shutdown option.

Sysprep is now running and will reboot Windows afterwards.

You are greeted with a welcome screen. Personal preference here.

Accept the license terms.

Configure the password for the built-in administrator account (\"Admin123\" for this lab environment). Windows reboots afterwards.

"},{"location":"howtos/clone-windows2022-virtualbox/#ip-address","title":"IP address","text":"Step1Step2Step3Step4

Login. Right-click on the network icon on the bottom-right taskbar -> Open Network and Internet settings.

Select \"Change adapter options\".

Double-click on \"Ethernet\", select \"Properties\", double-click on \"Internet Protocol Version 4 (TCP/IPv4)\" and configure IP settings.

Close all windows. Click \"Start\" and typ \"cmd\" to open a command prompt: verify the internet connection. The network icon on the bottom-right taskbar will show connectivity.

"},{"location":"howtos/clone-windows2022-virtualbox/#computername","title":"Computername","text":"Step1Step2

Right-click on \"Start -> System\". Change the computer name from \"vm16\" to \"vm17\". Restart now.

Login after reboot and shutdown Windows.

"},{"location":"howtos/clone-windows2022-virtualbox/#snapshot","title":"Snapshot","text":"Step1Step2Step3Step4

Select \"Machine -> Tools -> Snapshots\".

Select \"Current State\" and click \"Take\". Give a proper name, like \"Clean install\". A good \"Snapshot Description\" can be handy!

If you change \"something\" in this virtual machine, you will get \"Current State (changed)\". Want to revert those changes? Select \"Clean install\" and click \"Restore\". Be sure to remove the checkbox at \"Create a snapshot of the current machine state\" or you'll end up with another snapshot.

You know if the snapshot has been properly restored, if the \"Current State\" equals the \"Clean install\" again.

"},{"location":"howtos/clonezilla-bootable-usb-flash-drive/","title":"Create a Clonezilla bootable USB flash drive","text":"

todo...

"},{"location":"howtos/clonezilla-bootable-usb-flash-drive/#download-iso","title":"Download ISO","text":"Step1Step2Step3Step4Step5

Use your favorite search engine to search for \"Clonezilla\" and choose the official website.

Choose the \"Ubuntu-based alternative stable\" version.

Make sure the CPU archictecture is \"amd64\" and the file type is \"iso\". Click \"Download\".

The file will be downloaded to the \"Downloads\" folder.

Create a directory \"ISO\" and move the file into that directory.

"},{"location":"howtos/configure-password-recovery-mechanism/","title":"Configure the password recovery mechanism","text":"

In progress...

"},{"location":"howtos/configure-password-recovery-mechanism/#check","title":"Check","text":"
Switch#show version | incl password-recovery\nThe password-recovery mechanism is disabled.\nSwitch#\n
"},{"location":"howtos/configure-password-recovery-mechanism/#enable","title":"Enable","text":"
Switch#conf terminal\nEnter configuration commands, one per line.  End with CNTL/Z.\nSwitch(config)#service password-recovery \nSwitch(config)#end\nSwitch#\n
"},{"location":"howtos/factory-reset-cisco2960/","title":"Factory reset a Cisco 2960 switch","text":""},{"location":"howtos/factory-reset-cisco2960/#prereqs","title":"Prereqs","text":"
  • a PC (BIOS/UEFI) running Linux Mint 21
  • minicom terminal emulation software
  • a working IOS, so if necessary first (re)install an IOS operating system

Following commands can be executed from within IOS or from within ROMMON-mode.

"},{"location":"howtos/factory-reset-cisco2960/#erase-nvram-contents","title":"Erase nvram contents","text":"Step1Step2Step3

Check the nvram filesystem. If you saved the running configuration to the startup configuration, a configuration file known as startup-config will be present. It is possible that other files are there too. In ROMMON, the file is named config.text. Notice, you cannot access nvram: from ROMMON, but have to use the flash filesystem to get to that file (symbolic link).

--- From IOS ---\n\nSwitch#dir nvram:\nDirectory of nvram:/\n\n    62  -rw-        1296                    <no date>  startup-config\n    63  ----           5                    <no date>  private-config\n    1   ----          35                    <no date>  persistent-data\n    2   -rw-           0                    <no date>  ifIndex-table\n    3   -rw-        1296                    <no date>  test2.txt\n    5   -rw-        1296                    <no date>  test1.txt\n\n65536 bytes total (58039 bytes free)\nSwitch#\n\n--- From ROMMON ---\nswitch: dir flash:\nDirectory of flash:/\n\n    2  -rwx  11832960  <date>               c2960-lanbasek9-mz.150-2.SE11.bin\n    3  -rwx  1296      <date>               config.text\n    5  -rwx  5         <date>               private-config.text\n    6  -rwx  6168      <date>               multiple-fs\n\n53701120 bytes available (11843072 bytes used)\n\nswitch: \n

If you only want to erase all configuration files, use erase startup-config, erase nvram: or write erase from IOS. In ROMMON, use the delete command on the flash filesystem.

--- From IOS ---\nSwitch#erase startup-config \nErasing the nvram filesystem will remove all configuration files! Continue? [confirm]\n[OK]\nErase of nvram: complete\nSwitch#\n\n--- From ROMMON ---\nswitch: delete flash:config.text\nAre you sure you want to delete \"flash:config.text\" (y/n)?y\nFile \"flash:config.text\" deleted\n\nswitch: \n

For a clean setup, it is better to erase everything using erase /all nvram: from IOS. You cannot do that from ROMMON.

--- From IOS ---\nSwitch#erase /all nvram:\nErasing the nvram filesystem will remove all files! Continue? [confirm]\n[OK]\nErase of nvram: complete\n\nSwitch#dir nvram:\nDirectory of nvram:/\n\n62  -rw-           0                    <no date>  startup-config\n63  ----           0                    <no date>  private-config\n1   ----          35                    <no date>  persistent-data\n\n65536 bytes total (64460 bytes free)\nSwitch#\n\n--- From ROMMON ---\nswitch: dir flash:config.text\nunable to stat flash:config.text/: no such file or directory\n\nswitch: \n
"},{"location":"howtos/factory-reset-cisco2960/#erase-vlandat","title":"Erase vlan.dat","text":"Step1Step2Step3

The VLAN database file is saved in flash. Check if the file exists.

--- From IOS ---\nSwitch#dir flash:vlan.dat\nDirectory of flash:/vlan.dat\n\n    7  -rwx         616   Mar 1 1993 00:07:06 +00:00  vlan.dat\n...\n\n --- From ROMMON ---\nswitch: dir flash:\nDirectory of flash:/\n    ...\n    8  -rwx  616       <date>               vlan.dat\n...\n\nswitch:\n

If necessary, delete the VLAN database.

--- From IOS ---\nSwitch#delete vlan.dat\nDelete filename [vlan.dat]? \nDelete flash:/vlan.dat? [confirm]\nSwitch#\n\n--- From ROMMON ---\nswitch: delete flash:vlan.dat\nAre you sure you want to delete \"flash:vlan.dat\" (y/n)?y\nFile \"flash:vlan.dat\" deleted\n\nswitch: \n

Verify.

--- From IOS ---\nSwitch#dir flash:\nDirectory of flash:/\n    ...\n    <no vlan.dat>\n    ...\nSwitch#\n\n--- From ROMMON ---\nswitch: dir flash:\nDirectory of flash:/\n    ...\n    <no vlan.dat>\n    ...\nswitch: \n
"},{"location":"howtos/factory-reset-cisco2960/#enable-password-recovery-mechanism","title":"Enable password recovery mechanism","text":"Step1Step2Step3

Check if the password recovery mechanism is enabled or disabled. In this example, it is disabled.

--- From IOS ---\nSwitch#show ver | incl password-recovery\nThe password-recovery mechanism is disabled.\nSwitch#\n\n--- From ROMMON ---\nswitch: set\n...\nPASSWD_RECOVERY=no\n...\nswitch:\n

If necessary, enable it.

--- From IOS ---\nSwitch#conf t\nEnter configuration commands, one per line.  End with CNTL/Z.\nSwitch(config)#service password-recovery \nSwitch(config)#end\nSwitch#\n\n--- From ROMMON ---\nswitch: unset PASSWD_RECOVERY\n\nswitch: \n

Verify.

--- From IOS ---\nSwitch#show ver | incl password-recovery\nThe password-recovery mechanism is enabled.\nSwitch#\n\n--- From ROMMON ---\nswitch: set\n...\n<no PASSWD_RECOVERY variable present>\n...\n
"},{"location":"howtos/factory-reset-cisco2960/#set-default-sdm-template","title":"Set default SDM template","text":"Step1Step2Step3

Show the current SDM prefer template. For example:

--- From IOS ---\nSwitch#show sdm prefer \nThe current template is \"dual-ipv4-and-ipv6 default\" template.\nThe selected template optimizes the resources in\nthe switch to support this level of features for\n0 routed interfaces and 255 VLANs. \n...\n...\n\n--- From ROMMON ---\nswitch: set\n...\nSDM_TEMPLATE_ID=2\n...\n

If necessary, change it back to the default. We will reload/boot the switch at the end.

--- From IOS ---\nSwitch#conf t\nEnter configuration commands, one per line.  End with CNTL/Z.\nSwitch(config)#sdm prefer ?\ndefault             Default bias\ndual-ipv4-and-ipv6  Support both IPv4 and IPv6\nlanbase-routing     Supports both IPv4 and IPv6 Static Routing\nqos                 QoS bias\nSwitch(config)#sdm prefer default \nChanges to the running SDM preferences have been stored, but cannot take effect \nuntil the next reload.\nUse 'show sdm prefer' to see what SDM preference is currently active.\nSwitch(config)#end\n\n--- From ROMMON ---\nswitch: unset SDM_TEMPLATE_ID\n\nswitch:\n

Verify.

--- From IOS ---\nSwitch#show sdm prefer \n The current template is \"dual-ipv4-and-ipv6 default\" template.\n The selected template optimizes the resources in...\n...\n...\nOn next reload, template will be \"default\" template.\n\n--- From ROMMON ---\nswitch: set\n...\n    <no SDM_TEMPLATE_ID>\n...    \n
"},{"location":"howtos/factory-reset-cisco2960/#set-default-environment-variables","title":"Set default environment variables","text":"Step1Step2Step3Step4

Command show boot should look something like this. Most of these variables can be set from within IOS and/or ROMMON.

Switch#show boot\nBOOT path-list      : flash:/c2960-lanbasek9-mz.150-2.SE11.bin\nConfig file         : flash:/config.text\nPrivate Config file : flash:/private-config.text\nEnable Break        : yes\nManual Boot         : no\nAllow Dev Key         : yes\nHELPER path-list    : \nAuto upgrade        : yes\nAuto upgrade path   : \nNVRAM/Config file\n    buffer size:   65536\nTimeout for Config\n        Download:    0 seconds\nConfig Download \n    via DHCP:       disabled (next boot: disabled)\n

Example1: only if necessary, correct the \"BOOT path-list\" parameter

From IOS:\nSwitch(config)# boot system flash:/c2960-lanbasek9-mz.150-2.SE11.bin\n\nFrom ROMMON:\nswitch: set BOOT flash:/c2960-lanbasek9-mz.150-2.SE11.bin\n

Example2: only if necessary, correct the \"BOOT manual\" parameter.

From IOS:\nSwitch(config)# no boot manual\nSwitch(config)#\n\nFrom ROMMON:\nswitch: unset MANUAL_BOOT\n\nswitch:\n

Example3: only if necessary, correct the \"Enable break\" parameter.

From IOS:\nSwitch(config)# boot enable-break\nSwitch(config)#\n\nFrom ROMMON:\nswitch: unset ...\n\nswitch:\n
"},{"location":"howtos/factory-reset-cisco2960/#reload","title":"Reload","text":"
--- From IOS ---\nSwitch#reload\nSystem configuration has been modified. Save? [yes/no]:     -----> answer \"no\"\nProceed with reload? [confirm]                              -----> press \"Enter\"\n\n--- From ROMMON ---\nswitch:reset\n
"},{"location":"howtos/factory-reset-cisco2960/#clean-switch","title":"Clean switch","text":"

Say hi to the wizard. Answer \"no\" at the prompt. Now just pull the power plug to shutdown the switch, as there is no on/off switch like on e.g. a Cisco 1941 router.

        --- System Configuration Dialog ---\n\nEnable secret warning\n----------------------------------\nIn order to access the device manager, an enable secret is required\nIf you enter the initial configuration dialog, you will be prompted for the enable secret\nIf you choose not to enter the intial configuration dialog, or if you exit setup without setting the enable secret,\nplease set an enable secret using the following CLI in configuration mode-\nenable secret 0 <cleartext password>\n----------------------------------\nWould you like to enter the initial configuration dialog? [yes/no]:     -----> answer \"no\"\nSwitch>enable\nSwitch#\n
"},{"location":"howtos/install-chrome-browser-linux-mint/","title":"Install Google Chrome browser on Linux Mint 21","text":""},{"location":"howtos/install-chrome-browser-linux-mint/#prereqs","title":"Prereqs","text":"
  • a PC (BIOS/UEFI) running Linux Mint 21
"},{"location":"howtos/install-chrome-browser-linux-mint/#download-and-import-googles-signed-key","title":"Download and import Google's signed key","text":"

Signing keys are used to verify the authenticity and integrity of packages from repositories. Download Google's and import at once.

guru@hp:~$_output
curl -sS https://dl.google.com/linux/linux_signing_key.pub | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/google-chrome.gpg &> /dev/null\n
guru@hp:~$ curl -sS https://dl.google.com/linux/linux_signing_key.pub | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/google-chrome.gpg &> /dev/null\n[sudo] password for guru:     \nguru@hp:~$ \n
"},{"location":"howtos/install-chrome-browser-linux-mint/#add-googles-chrome-repository","title":"Add Google's Chrome repository","text":"guru@hp:~$_output
sudo sh -c 'echo \"deb [arch=amd64 signed-by=/etc/apt/trusted.gpg.d/google-chrome.gpg] http://dl.google.com/linux/chrome/deb/ stable main\" > /etc/apt/sources.list.d/google-chrome.list'\n
# No output here\nguru@hp:~$ sudo sh -c 'echo \"deb [arch=amd64 signed-by=/etc/apt/trusted.gpg.d/google-chrome.gpg] http://dl.google.com/linux/chrome/deb/ stable main\" > /etc/apt/sources.list.d/google-chrome.list'\nguru@hp:~$ \n
"},{"location":"howtos/install-chrome-browser-linux-mint/#update-package-list","title":"Update package list","text":"guru@hp:~$_output
sudo apt update\n
guru@hp:~$ sudo apt update\nIgn:1 https://mintlinux.mirror.wearetriple.com/packages vera InRelease\nHit:2 https://mintlinux.mirror.wearetriple.com/packages vera Release                                        \nGet:3 http://dl.google.com/linux/chrome/deb stable InRelease [1.825 B]                                      \nHit:4 http://archive.ubuntu.com/ubuntu jammy InRelease                                                        \nHit:6 http://archive.ubuntu.com/ubuntu jammy-updates InRelease             \nGet:7 http://dl.google.com/linux/chrome/deb stable/main amd64 Packages [1.079 B]\nHit:8 http://security.ubuntu.com/ubuntu jammy-security InRelease                \nGet:9 http://archive.ubuntu.com/ubuntu jammy-backports InRelease [108 kB]\nFetched 111 kB in 1s (114 kB/s)    \nReading package lists... Done\nBuilding dependency tree... Done\nReading state information... Done\n175 packages can be upgraded. Run 'apt list --upgradable' to see them.\nguru@hp:~$\n
"},{"location":"howtos/install-chrome-browser-linux-mint/#install-chrome","title":"Install Chrome","text":"guru@hp:~$_output
sudo apt install google-chrome-stable\n
guru@hp:~$ sudo apt install google-chrome-stable\nReading package lists... Done\nBuilding dependency tree... Done\nReading state information... Done\nThe following additional packages will be installed:\nlibu2f-udev\nThe following NEW packages will be installed:\ngoogle-chrome-stable libu2f-udev\n0 upgraded, 2 newly installed, 0 to remove and 175 not upgraded.\nNeed to get 94,4 MB of archives.\nAfter this operation, 322 MB of additional disk space will be used.\nDo you want to continue? [Y/n] y\nGet:1 http://dl.google.com/linux/chrome/deb stable/main amd64 google-chrome-stable amd64 114.0.5735.133-1 [94,4 MB]\nGet:2 http://archive.ubuntu.com/ubuntu jammy/main amd64 libu2f-udev all 1.1.10-3build2 [4.190 B]\nFetched 94,4 MB in 4s (24,2 MB/s)                                                 \nSelecting previously unselected package libu2f-udev.\n(Reading database ... 610101 files and directories currently installed.)\nPreparing to unpack .../libu2f-udev_1.1.10-3build2_all.deb ...\nUnpacking libu2f-udev (1.1.10-3build2) ...\nSelecting previously unselected package google-chrome-stable.\nPreparing to unpack .../google-chrome-stable_114.0.5735.133-1_amd64.deb ...\nUnpacking google-chrome-stable (114.0.5735.133-1) ...\nSetting up libu2f-udev (1.1.10-3build2) ...\nSetting up google-chrome-stable (114.0.5735.133-1) ...\nupdate-alternatives: using /usr/bin/google-chrome-stable to provide /usr/bin/x-www-browser (x-www-browser) in auto mode\nupdate-alternatives: using /usr/bin/google-chrome-stable to provide /usr/bin/gnome-www-browser (gnome-www-browser) in auto mode\nupdate-alternatives: using /usr/bin/google-chrome-stable to provide /usr/bin/google-chrome (google-chrome) in auto mode\nProcessing triggers for gnome-menus (3.36.0-1ubuntu3) ...\nProcessing triggers for man-db (2.10.2-1) ...\nProcessing triggers for mailcap (3.70+nmu1ubuntu1) ...\nProcessing triggers for desktop-file-utils (0.26+mint2+vera) ...\nguru@hp:~$ \n
"},{"location":"howtos/install-chrome-browser-linux-mint/#start-chrome","title":"Start Chrome","text":"

Select \"Menu\" and start typing \"chr\". Start \"Google Chrome\".

"},{"location":"howtos/install-chrome-browser-linux-mint/#preferences","title":"Preferences","text":"

Do not send any stats or crash reports for now.

"},{"location":"howtos/install-chrome-browser-linux-mint/#adguard","title":"Adguard","text":"Step1Step2Step3

Use your favorite search engine to search for \"adguard chrome extension\"

Click \"Add to Chrome\" and follow the steps.

Finally, enable the first 4 buttons. Restart the browser. It's now ready for use.

"},{"location":"howtos/install-chrome-windows11/","title":"Install Chrome on Windows 11","text":"
  • todo
"},{"location":"howtos/install-firefox-windows11/","title":"Install Firefox on Windows 11","text":"
  • todo
"},{"location":"howtos/install-minicom-linux-mint/","title":"Install minicom on Linux Mint 21","text":"

todo

"},{"location":"howtos/install-packettracer-linux-mint/","title":"Install PacketTracer 8.2.2 on Linux Mint 21","text":""},{"location":"howtos/install-packettracer-linux-mint/#prereqs","title":"Prereqs","text":"
  • a PC (BIOS/UEFI) running Linux Mint 21
"},{"location":"howtos/install-packettracer-linux-mint/#download","title":"Download","text":"

Download PacketTracer from an official Cisco location (e.g Netacad.com, Skillsforall.com) and save it to disk. (VDAB users: download from your Google Drive!)

"},{"location":"howtos/install-packettracer-linux-mint/#open-terminal","title":"Open Terminal","text":"

Right-click on an empty space in the \"Nemo\" file manager and select \"Open in Terminal\".

"},{"location":"howtos/install-packettracer-linux-mint/#install","title":"Install","text":"

Install the .deb package using the \"apt install\" command with the relative path to the package file. APT will recognize it and install the package along with its dependencies, if any.

guru@hp:~/Downloads$_output
sudo apt install ./CiscoPacketTracer822_amd64_signed.deb\n
guru@vm26:~/Downloads$ sudo apt install ./CiscoPacketTracer822_amd64_signed.deb\n[sudo] password for guru:     \nReading package lists... Done\nBuilding dependency tree... Done\nReading state information... Done\nNote, selecting 'packettracer' instead of './CiscoPacketTracer822_amd64_signed.deb'\nThe following additional packages will be installed:\n  libgl1-mesa-glx libpthread-stubs0-dev libxau-dev libxcb-xinerama0-dev libxcb1-dev libxdmcp-dev\n  x11proto-dev xorg-sgml-doctools\nSuggested packages:\n  libxcb-doc\nThe following NEW packages will be installed:\n  libgl1-mesa-glx libpthread-stubs0-dev libxau-dev libxcb-xinerama0-dev libxcb1-dev libxdmcp-dev\n  packettracer x11proto-dev xorg-sgml-doctools\n0 upgraded, 9 newly installed, 0 to remove and 1 not upgraded.\nNeed to get 755 kB/284 MB of archives.\nAfter this operation, 2.765 kB of additional disk space will be used.\nDo you want to continue? [Y/n] y\nGet:1 http://archive.ubuntu.com/ubuntu jammy-updates/universe amd64 libgl1-mesa-glx amd64 23.0.4-0ubuntu1~22.04.1 [5.584 B]\n...\n...\n
"},{"location":"howtos/install-packettracer-linux-mint/#license-agreement","title":"License agreement","text":"

Read the license agreement :p and select \"OK\".

"},{"location":"howtos/install-packettracer-linux-mint/#eula-terms","title":"EULA terms","text":"

Accept the terms.

"},{"location":"howtos/install-packettracer-linux-mint/#notice","title":"Notice","text":"

Ignore the \"Notice\" warning at the end of the installation. All went well.

N: Download is performed unsandboxed as root as file '/home/guru/Downloads/CiscoPacketTracer822_amd64_signed.deb' couldn't be accessed by user '_apt'. - pkgAcquire::Run (13: Permission denied)\nguru@vm26:~/Downloads$ \n
"},{"location":"howtos/install-packettracer-linux-mint/#activation-link","title":"Activation link","text":"

Member of Cisco Network Academy? You should have received an activation link on your private e-mail. Activate your account.

"},{"location":"howtos/install-packettracer-linux-mint/#mint-menu","title":"Mint menu","text":"

Select \"Menu\" and start typing \"pac\". Start \"PacketTracer 8.2.2\".

"},{"location":"howtos/install-packettracer-linux-mint/#multi-user","title":"Multi-user","text":"

Answer \"no\".

"},{"location":"howtos/install-packettracer-linux-mint/#sign-in","title":"Sign-in","text":"

First choose \"Keep me logged in (for 3 months) and then select \"Cisco Networking Academy\".

"},{"location":"howtos/install-packettracer-linux-mint/#login","title":"Login","text":"

Type your private e-mailadress. Put a checkmark next to \"Remember me\" and click \"Login\". The password field appears. Fill in your password.

"},{"location":"howtos/install-packettracer-linux-mint/#font-configuration","title":"Font configuration","text":"

Personal preference here. Select \"Options -> Preferences -> Font\". Increase the fontsize to 12 and click \"Apply\". Then close the window.

"},{"location":"howtos/install-putty-windows11/","title":"Install Putty on Windows 11","text":"
  • todo
"},{"location":"howtos/install-rufus-windows11/","title":"Install Rufus on Windows 11","text":"
  • todo
"},{"location":"howtos/install-teraterm-windows11/","title":"Install Teraterm on Windows 11","text":"
  • todo
"},{"location":"howtos/install-tftp-linux-mint/","title":"Install tFTP on Linux Mint 21","text":""},{"location":"howtos/install-tftp-linux-mint/#prereqs","title":"Prereqs","text":"
  • a PC (BIOS/UEFI) running Linux Mint 21
"},{"location":"howtos/install-tftp-linux-mint/#update-the-apt-cache","title":"Update the APT cache","text":"guru@lab:~$_output
sudo apt update\n
guru@lab:~$ sudo apt update\nHit:1 http://archive.ubuntu.com/ubuntu jammy InRelease\nHit:2 http://security.ubuntu.com/ubuntu jammy-security InRelease                                                      \nHit:3 http://archive.ubuntu.com/ubuntu jammy-updates InRelease                                                        \nIgn:4 https://linuxmint-packages.mirror.liteserver.nl victoria InRelease                        \nHit:5 http://archive.ubuntu.com/ubuntu jammy-backports InRelease                                \nHit:6 https://linuxmint-packages.mirror.liteserver.nl victoria Release                          \nReading package lists... Done\nBuilding dependency tree... Done\nReading state information... Done\nAll packages are up to date.\nguru@lab:~$ \n
"},{"location":"howtos/install-tftp-linux-mint/#install-the-tftp-server-package","title":"Install the TFTP server package","text":"guru@lab:~$_output
sudo apt install tftpd-hpa\n
guru@lab:~$ sudo apt install tftpd-hpa\nReading package lists... Done\nBuilding dependency tree... Done\nReading state information... Done\nSuggested packages:\npxelinux\nThe following NEW packages will be installed:\ntftpd-hpa\n0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.\nNeed to get 40,7 kB of archives.\nAfter this operation, 122 kB of additional disk space will be used.\nGet:1 http://archive.ubuntu.com/ubuntu jammy/main amd64 tftpd-hpa amd64 5.2+20150808-1.2build2 [40,7 kB]\nFetched 40,7 kB in 0s (83,4 kB/s)  \nPreconfiguring packages ...\nSelecting previously unselected package tftpd-hpa.\n(Reading database ... 561282 files and directories currently installed.)\nPreparing to unpack .../tftpd-hpa_5.2+20150808-1.2build2_amd64.deb ...\nUnpacking tftpd-hpa (5.2+20150808-1.2build2) ...\nSetting up tftpd-hpa (5.2+20150808-1.2build2) ...\nProcessing triggers for man-db (2.10.2-1) ...\nguru@lab:~$ \n
"},{"location":"howtos/install-tftp-linux-mint/#configure-the-service-optional","title":"Configure the service (optional)","text":"guru@lab:~$_output
cat /etc/default/tftpd-hpa\n
guru@lab:~$ cat /etc/default/tftpd-hpa \n# /etc/default/tftpd-hpa\n\nTFTP_USERNAME=\"tftp\"\nTFTP_DIRECTORY=\"/srv/tftp\"\nTFTP_ADDRESS=\":69\"\nTFTP_OPTIONS=\"--secure\"\nguru@lab:~$ \n
"},{"location":"howtos/install-tftp-linux-mint/#view-directory-permissionsownership","title":"View directory permissions/ownership","text":"guru@lab:~$_output
ls -ld /srv/tftp/\n
guru@lab:~$ ls -ld /srv/tftp/\ndrwxr-xr-x 2 root nogroup 4096 Sep  7 13:56 /srv/tftp/\nguru@lab:~$\n
"},{"location":"howtos/install-tftp-linux-mint/#verify-the-service","title":"Verify the service","text":"guru@lab:~$_output
sudo systemctl status tftpd-hpa\n
guru@lab:~$ sudo systemctl status tftpd-hpa\n\u25cf tftpd-hpa.service - LSB: HPA's tftp server\n    Loaded: loaded (/etc/init.d/tftpd-hpa; generated)\n    Active: active (running) since Thu 2023-09-07 13:56:28 CEST; 9min ago\n    Docs: man:systemd-sysv-generator(8)\n    Process: 3293 ExecStart=/etc/init.d/tftpd-hpa start (code=exited, status=0/SUCCESS)\n    Tasks: 1 (limit: 4539)\n    Memory: 404.0K\n        CPU: 8ms\n    CGroup: /system.slice/tftpd-hpa.service\n            \u2514\u25003301 /usr/sbin/in.tftpd --listen --user tftp --address :69 --secure /srv/tftp\n\nSep 07 13:56:28 lab systemd[1]: Starting LSB: HPA's tftp server...\nSep 07 13:56:28 lab tftpd-hpa[3293]:  * Starting HPA's tftpd in.tftpd\nSep 07 13:56:28 lab tftpd-hpa[3293]:    ...done.\nSep 07 13:56:28 lab systemd[1]: Started LSB: HPA's tftp server.\nguru@lab:~$ \n
"},{"location":"howtos/install-tftp-linux-mint/#enable-the-service-to-start-on-boot-optional","title":"Enable the service to start on boot (optional)","text":"guru@lab:~$_output
sudo systemctl enable tftpd-hpa\n
guru@lab:/srv/tftp$ sudo systemctl enable tftpd-hpa\n[sudo] password for guru:     \ntftpd-hpa.service is not a native service, redirecting to systemd-sysv-install.\nExecuting: /lib/systemd/systemd-sysv-install enable tftpd-hpa\nguru@lab:/srv/tftp$ \n
"},{"location":"howtos/install-tftp-linux-mint/#serve-a-file","title":"Serve a file","text":"

In this example, a valid Cisco IOS image is copied to the tFTP directory and permissions are set.

guru@lab:~$_output
sudo cp /home/guru/Downloads/c2960-lanbasek9-mz.152-7.E8.bin /srv/tftp/\nsudo chmod 644 /srv/tftp/c2960-lanbasek9-mz.152-7.E8.bin\n
guru@lab:~$ sudo cp /home/guru/Downloads/c2960-lanbasek9-mz.152-7.E8.bin /srv/tftp/\n[sudo] password for guru:     \nguru@lab:~$ sudo chmod 644 /srv/tftp/c2960-lanbasek9-mz.152-7.E8.bin \nguru@lab:~$\n
"},{"location":"howtos/install-virtualbox-linux-mint/","title":"Install VirtualBox 6.1.50 on Linux Mint 21","text":""},{"location":"howtos/install-virtualbox-linux-mint/#prereqs","title":"Prereqs","text":"
  • a PC (BIOS/UEFI) running Linux Mint 21
"},{"location":"howtos/install-virtualbox-linux-mint/#update-package-list","title":"Update package list","text":"guru@hp:~$_output
sudo apt update\n
guru@hp:~$ sudo apt update\nHit:1 http://archive.ubuntu.com/ubuntu jammy InRelease\nGet:2 http://archive.ubuntu.com/ubuntu jammy-updates InRelease [119 kB]                                                        \nIgn:3 https://mirrors-linux-mint.behostings.com/mint virginia InRelease                                                        \nHit:4 https://mirrors-linux-mint.behostings.com/mint virginia Release                                             \nHit:6 http://archive.ubuntu.com/ubuntu jammy-backports InRelease                             \nGet:7 http://security.ubuntu.com/ubuntu jammy-security InRelease [110 kB]\nFetched 229 kB in 1s (384 kB/s)    \nReading package lists... Done\nBuilding dependency tree... Done\nReading state information... Done\n7 packages can be upgraded. Run 'apt list --upgradable' to see them.\nguru@hp:~$ \n
"},{"location":"howtos/install-virtualbox-linux-mint/#check-version-in-repository","title":"Check version in repository","text":"guru@hp:~$_output
sudo apt-cache policy virtualbox\n
guru@hp:~$ sudo apt-cache policy virtualbox\nvirtualbox:\nInstalled: (none)\nCandidate: 6.1.50-dfsg-1~ubuntu1.22.04.1\nVersion table:\n    6.1.50-dfsg-1~ubuntu1.22.04.1 500\n        500 http://archive.ubuntu.com/ubuntu jammy-updates/multiverse amd64 Packages\n    6.1.32-dfsg-1build1 500\n        500 http://archive.ubuntu.com/ubuntu jammy/multiverse amd64 Packages\nguru@hp:~$ \n
"},{"location":"howtos/install-virtualbox-linux-mint/#install-virtualbox","title":"Install VirtualBox","text":"guru@hp:~$_output
sudo apt install virtualbox\n
guru@hp:~$ sudo apt install virtualbox\nReading package lists... Done\nBuilding dependency tree... Done\nReading state information... Done\nThe following additional packages will be installed:\n  libgsoap-2.8.117 liblzf1 libqt5opengl5 libqt5printsupport5 libqt5x11extras5 libsdl1.2debian libvncserver1 virtualbox-dkms virtualbox-qt\nSuggested packages:\n  vde2 virtualbox-guest-additions-iso\nThe following NEW packages will be installed:\n  libgsoap-2.8.117 liblzf1 libqt5opengl5 libqt5printsupport5 libqt5x11extras5 libsdl1.2debian libvncserver1 virtualbox virtualbox-dkms virtualbox-qt\n0 upgraded, 10 newly installed, 0 to remove and 7 not upgraded.\nNeed to get 47,1 MB of archives.\nAfter this operation, 182 MB of additional disk space will be used.\nDo you want to continue? [Y/n] y\nGet:1 http://archive.ubuntu.com/ubuntu jammy/universe amd64 libgsoap-2.8.117 amd64 2.8.117-2build1 [269 kB]\nGet:2 http://archive.ubuntu.com/ubuntu jammy/universe amd64 liblzf1 amd64 3.6-3 [7.444 B]\nGet:3 http://archive.ubuntu.com/ubuntu jammy-updates/universe amd64 libqt5opengl5 amd64 5.15.3+dfsg-2ubuntu0.2 [153 kB]\nGet:4 http://archive.ubuntu.com/ubuntu jammy-updates/universe amd64 libqt5printsupport5 amd64 5.15.3+dfsg-2ubuntu0.2 [214 kB]\nGet:5 http://archive.ubuntu.com/ubuntu jammy/universe amd64 libqt5x11extras5 amd64 5.15.3-1 [10,9 kB]\nGet:6 http://archive.ubuntu.com/ubuntu jammy/universe amd64 libsdl1.2debian amd64 1.2.15+dfsg2-6 [177 kB]\nGet:7 http://archive.ubuntu.com/ubuntu jammy/main amd64 libvncserver1 amd64 0.9.13+dfsg-3build2 [131 kB]\nGet:8 http://archive.ubuntu.com/ubuntu jammy-updates/multiverse amd64 virtualbox-dkms amd64 6.1.50-dfsg-1~ubuntu1.22.04.1 [722 kB]\nGet:9 http://archive.ubuntu.com/ubuntu jammy-updates/multiverse amd64 virtualbox amd64 6.1.50-dfsg-1~ubuntu1.22.04.1 [23,3 MB]\nGet:10 http://archive.ubuntu.com/ubuntu jammy-updates/multiverse amd64 virtualbox-qt amd64 6.1.50-dfsg-1~ubuntu1.22.04.1 [22,1 MB]\nFetched 47,1 MB in 3s (18,3 MB/s)         \nSelecting previously unselected package libgsoap-2.8.117:amd64.\n(Reading database ... 565027 files and directories currently installed.)\nPreparing to unpack .../0-libgsoap-2.8.117_2.8.117-2build1_amd64.deb ...\nUnpacking libgsoap-2.8.117:amd64 (2.8.117-2build1) ...\nSelecting previously unselected package liblzf1:amd64.\nPreparing to unpack .../1-liblzf1_3.6-3_amd64.deb ...\nUnpacking liblzf1:amd64 (3.6-3) ...\nSelecting previously unselected package libqt5opengl5:amd64.\nPreparing to unpack .../2-libqt5opengl5_5.15.3+dfsg-2ubuntu0.2_amd64.deb ...\nUnpacking libqt5opengl5:amd64 (5.15.3+dfsg-2ubuntu0.2) ...\nSelecting previously unselected package libqt5printsupport5:amd64.\nPreparing to unpack .../3-libqt5printsupport5_5.15.3+dfsg-2ubuntu0.2_amd64.deb ...\nUnpacking libqt5printsupport5:amd64 (5.15.3+dfsg-2ubuntu0.2) ...\nSelecting previously unselected package libqt5x11extras5:amd64.\nPreparing to unpack .../4-libqt5x11extras5_5.15.3-1_amd64.deb ...\nUnpacking libqt5x11extras5:amd64 (5.15.3-1) ...\nSelecting previously unselected package libsdl1.2debian:amd64.\nPreparing to unpack .../5-libsdl1.2debian_1.2.15+dfsg2-6_amd64.deb ...\nUnpacking libsdl1.2debian:amd64 (1.2.15+dfsg2-6) ...\nSelecting previously unselected package libvncserver1:amd64.\nPreparing to unpack .../6-libvncserver1_0.9.13+dfsg-3build2_amd64.deb ...\nUnpacking libvncserver1:amd64 (0.9.13+dfsg-3build2) ...\nSelecting previously unselected package virtualbox-dkms.\nPreparing to unpack .../7-virtualbox-dkms_6.1.50-dfsg-1~ubuntu1.22.04.1_amd64.deb ...\nUnpacking virtualbox-dkms (6.1.50-dfsg-1~ubuntu1.22.04.1) ...\nSelecting previously unselected package virtualbox.\nPreparing to unpack .../8-virtualbox_6.1.50-dfsg-1~ubuntu1.22.04.1_amd64.deb ...\nUnpacking virtualbox (6.1.50-dfsg-1~ubuntu1.22.04.1) ...\nSelecting previously unselected package virtualbox-qt.\nPreparing to unpack .../9-virtualbox-qt_6.1.50-dfsg-1~ubuntu1.22.04.1_amd64.deb ...\nUnpacking virtualbox-qt (6.1.50-dfsg-1~ubuntu1.22.04.1) ...\nSetting up libqt5x11extras5:amd64 (5.15.3-1) ...\nSetting up libgsoap-2.8.117:amd64 (2.8.117-2build1) ...\nSetting up libvncserver1:amd64 (0.9.13+dfsg-3build2) ...\nSetting up libqt5printsupport5:amd64 (5.15.3+dfsg-2ubuntu0.2) ...\nSetting up liblzf1:amd64 (3.6-3) ...\nSetting up libsdl1.2debian:amd64 (1.2.15+dfsg2-6) ...\nSetting up libqt5opengl5:amd64 (5.15.3+dfsg-2ubuntu0.2) ...\nSetting up virtualbox-dkms (6.1.50-dfsg-1~ubuntu1.22.04.1) ...\nLoading new virtualbox-6.1.50 DKMS files...\nBuilding for 5.15.0-101-generic\nBuilding initial module for 5.15.0-101-generic\nSecure Boot not enabled on this system.\nDone.\n\nvboxdrv.ko:\nRunning module version sanity check.\n- Original module\n- No original module exists within this kernel\n- Installation\n- Installing to /lib/modules/5.15.0-101-generic/updates/dkms/\n\nvboxnetadp.ko:\nRunning module version sanity check.\n- Original module\n- No original module exists within this kernel\n- Installation\n- Installing to /lib/modules/5.15.0-101-generic/updates/dkms/\n\nvboxnetflt.ko:\nRunning module version sanity check.\n- Original module\n- No original module exists within this kernel\n- Installation\n- Installing to /lib/modules/5.15.0-101-generic/updates/dkms/\n\ndepmod...\nSetting up virtualbox (6.1.50-dfsg-1~ubuntu1.22.04.1) ...\nSetting up virtualbox-qt (6.1.50-dfsg-1~ubuntu1.22.04.1) ...\nProcessing triggers for mailcap (3.70+nmu1ubuntu1) ...\nProcessing triggers for desktop-file-utils (0.26+mint3+victoria) ...\nProcessing triggers for hicolor-icon-theme (0.17-2) ...\nProcessing triggers for gnome-menus (3.36.0-1ubuntu3) ...\nProcessing triggers for libc-bin (2.35-0ubuntu3.6) ...\nProcessing triggers for man-db (2.10.2-1) ...\nProcessing triggers for shared-mime-info (2.1-2) ...\n
"},{"location":"howtos/install-virtualbox-linux-mint/#install-extension-pack","title":"Install extension pack","text":"

VirtualBox requires an extension pack to provide support for Remote Desktop Protocol, USB 2.0, PXE booting for Intel network cards, ...

guru@hp:~$_output
sudo apt install virtualbox-ext-pack\n
guru@hp:~$ sudo apt install virtualbox-ext-pack\nReading package lists... Done\nBuilding dependency tree... Done\nReading state information... Done\nThe following NEW packages will be installed:\n  virtualbox-ext-pack\n0 upgraded, 1 newly installed, 0 to remove and 7 not upgraded.\nNeed to get 10,7 kB of archives.\nAfter this operation, 143 kB of additional disk space will be used.\nGet:1 http://archive.ubuntu.com/ubuntu jammy-updates/multiverse amd64 virtualbox-ext-pack all 6.1.50-1~ubuntu1.22.04.1 [10,7 kB]\nFetched 10,7 kB in 0s (94,5 kB/s)             \nPreconfiguring packages ...\nSelecting previously unselected package virtualbox-ext-pack.\n(Reading database ... 565724 files and directories currently installed.)\nPreparing to unpack .../virtualbox-ext-pack_6.1.50-1~ubuntu1.22.04.1_all.deb ...\nLicense has already been accepted.\nUnpacking virtualbox-ext-pack (6.1.50-1~ubuntu1.22.04.1) ...\nSetting up virtualbox-ext-pack (6.1.50-1~ubuntu1.22.04.1) ...\nvirtualbox-ext-pack: downloading: https://download.virtualbox.org/virtualbox/6.1.50/Oracle_VM_VirtualBox_Extension_Pack-6.1.50.vbox-extpack\nThe file will be downloaded into /usr/share/virtualbox-ext-pack\nLicense accepted.\n0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%\nSuccessfully installed \"Oracle VM VirtualBox Extension Pack\".\n
"},{"location":"howtos/install-virtualbox-linux-mint/#install-guest-additions","title":"Install guest additions","text":"

The \"VirtualBox Guest Additions\" package provides an iso image which contains the guest additions for Linux, Solaris and Windows to be installed on the host system. The guest systems then can mount the iso and install the guest additions from there.

guru@hp:~$_output
sudo apt install virtualbox-guest-additions-iso\n
guru@hp:~$ sudo apt install virtualbox-guest-additions-iso\nReading package lists... Done\nBuilding dependency tree... Done\nReading state information... Done\nThe following NEW packages will be installed:\n  virtualbox-guest-additions-iso\n0 upgraded, 1 newly installed, 0 to remove and 7 not upgraded.\nNeed to get 48,1 MB of archives.\nAfter this operation, 64,1 MB of additional disk space will be used.\nGet:1 http://archive.ubuntu.com/ubuntu jammy-updates/multiverse amd64 virtualbox-guest-additions-iso all 6.1.50-1~ubuntu1.22.04.1 [48,1 MB]\nFetched 48,1 MB in 2s (25,6 MB/s)                         \nSelecting previously unselected package virtualbox-guest-additions-iso.\n(Reading database ... 565729 files and directories currently installed.)\nPreparing to unpack .../virtualbox-guest-additions-iso_6.1.50-1~ubuntu1.22.04.1_all.deb ...\nUnpacking virtualbox-guest-additions-iso (6.1.50-1~ubuntu1.22.04.1) ...\nSetting up virtualbox-guest-additions-iso (6.1.50-1~ubuntu1.22.04.1) ...\nguru@hp:~$ \n
"},{"location":"howtos/install-virtualbox-linux-mint/#start-virtualbox","title":"Start VirtualBox","text":"

Select \"Menu\" and start typing \"vir\". Start \"Oracle VM VirtualBox\".

"},{"location":"howtos/install-virtualbox7-linux-mint21/","title":"Install VirtualBox 7 on Linux Mint 21","text":""},{"location":"howtos/install-virtualbox7-linux-mint21/#prereqs","title":"Prereqs","text":"
  • a PC (BIOS/UEFI) running Linux Mint 21
"},{"location":"howtos/install-virtualbox7-linux-mint21/#import-gpg-key","title":"Import GPG key","text":"

By default, VirtualBox 6 is available in the Linux Mint 21 repo, not VirtualBox 7. In the next step, we'll add it to our system. First, let's import the Oracle VirtualBox GPG keys that sign the software.

guru@lab:~$_output
wget -q -O- https://www.virtualbox.org/download/oracle_vbox_2016.asc | sudo gpg --dearmor --yes --output /usr/share/keyrings/oracle-virtualbox-2016.gpg\n
guru@lab:~$ wget -q -O- https://www.virtualbox.org/download/oracle_vbox_2016.asc | sudo gpg --dearmor --yes --output /usr/share/keyrings/oracle-virtualbox-2016.gpg\n[sudo] password for guru:     \nguru@lab:~$ \n
"},{"location":"howtos/install-virtualbox7-linux-mint21/#add-repository","title":"Add repository","text":"

Add the official VirtualBox repository to Linux mint 21. New versions will be available when you update the Linux Mint system.

guru@lab:~$_output
echo \"deb [arch=amd64 signed-by=/usr/share/keyrings/oracle-virtualbox-2016.gpg] http://download.virtualbox.org/virtualbox/debian jammy contrib\" | sudo tee /etc/apt/sources.list.d/virtualbox.list\n
guru@lab:~$ echo \"deb [arch=amd64 signed-by=/usr/share/keyrings/oracle-virtualbox-2016.gpg] http://download.virtualbox.org/virtualbox/debian jammy contrib\" | sudo tee /etc/apt/sources.list.d/virtualbox.list  \ndeb [arch=amd64 signed-by=/usr/share/keyrings/oracle-virtualbox-2016.gpg] http://download.virtualbox.org/virtualbox/debian jammy contrib\nguru@lab:~$ \n
"},{"location":"howtos/install-virtualbox7-linux-mint21/#update-package-list","title":"Update package list","text":"guru@lab:~$_output
sudo apt update\n
guru@lab:~$ sudo apt update\nIgn:1 https://mintlinux.mirror.wearetriple.com/packages virginia InRelease\nHit:2 https://mintlinux.mirror.wearetriple.com/packages virginia Release                            \nHit:3 http://security.ubuntu.com/ubuntu jammy-security InRelease                                                     \nHit:4 http://archive.ubuntu.com/ubuntu jammy InRelease                                                               \nGet:5 http://download.virtualbox.org/virtualbox/debian jammy InRelease [4.428 B]\nHit:6 http://archive.ubuntu.com/ubuntu jammy-updates InRelease                  \nHit:8 http://archive.ubuntu.com/ubuntu jammy-backports InRelease\nGet:9 http://download.virtualbox.org/virtualbox/debian jammy/contrib amd64 Packages [1.495 B]\nFetched 5.923 B in 1s (5.015 B/s)     \nReading package lists... Done\nBuilding dependency tree... Done\nReading state information... Done\nAll packages are up to date.\nguru@lab:~$ \n
"},{"location":"howtos/install-virtualbox7-linux-mint21/#install-virtualbox","title":"Install VirtualBox","text":"

Notice in the output, a group vboxusers will be created.

guru@lab:~$_output
sudo apt install virtualbox-7.0\n
guru@lab:~$ sudo apt install virtualbox-7.0 -y\nReading package lists... Done\nBuilding dependency tree... Done\nReading state information... Done\nThe following additional packages will be installed:\nlibqt5help5 libqt5opengl5 libqt5printsupport5 libqt5sql5 libqt5sql5-sqlite libqt5x11extras5 libqt5xml5 libsdl-ttf2.0-0 libsdl1.2debian\nThe following NEW packages will be installed:\nlibqt5help5 libqt5opengl5 libqt5printsupport5 libqt5sql5 libqt5sql5-sqlite libqt5x11extras5 libqt5xml5 libsdl-ttf2.0-0 libsdl1.2debian virtualbox-7.0\n0 upgraded, 10 newly installed, 0 to remove and 0 not upgraded.\nNeed to get 93,9 MB of archives.\nAfter this operation, 224 MB of additional disk space will be used.\nGet:1 http://archive.ubuntu.com/ubuntu jammy-updates/universe amd64 libqt5sql5 amd64 5.15.3+dfsg-2ubuntu0.2 [123 kB]\n...\n...\nSetting up virtualbox-7.0 (7.0.20-163906~Ubuntu~jammy) ...\nAdding group `vboxusers' (GID 138) ...\nDone.\nProcessing triggers for desktop-file-utils (0.26+mint3+victoria) ...\n...\nguru@lab:~$ \n
"},{"location":"howtos/install-virtualbox7-linux-mint21/#verify-installed-version","title":"Verify installed version","text":"

In a next step, we'll install the VirtualBox Extension Pack. It is important that the version matches the version of VirtualBox. Let's checkout the version of VirtualBox.

guru@lab:~$_output
vboxmanage -v | cut -dr -f1\n
guru@lab:~$ vboxmanage -v | cut -dr -f1\n7.0.20\nguru@lab:~$ \n
"},{"location":"howtos/install-virtualbox7-linux-mint21/#download-extension-pack","title":"Download extension pack","text":"

In this case, the version is 7.0.20. Download the Extension Pack with the same version.

guru@lab:~$_output
wget https://download.virtualbox.org/virtualbox/7.0.20/Oracle_VM_VirtualBox_Extension_Pack-7.0.20.vbox-extpack\n
guru@lab:~$ wget https://download.virtualbox.org/virtualbox/7.0.20/Oracle_VM_VirtualBox_Extension_Pack-7.0.20.vbox-extpack\n--2024-07-18 14:59:08--  https://download.virtualbox.org/virtualbox/7.0.20/Oracle_VM_VirtualBox_Extension_Pack-7.0.20.vbox-extpack\nResolving download.virtualbox.org (download.virtualbox.org)... 92.123.50.125\nConnecting to download.virtualbox.org (download.virtualbox.org)|92.123.50.125|:443... connected.\nHTTP request sent, awaiting response... 200 OK\nLength: 18263914 (17M) [text/plain]\nSaving to: \u2018Oracle_VM_VirtualBox_Extension_Pack-7.0.20.vbox-extpack\u2019\n\nOracle_VM_VirtualBox_Extension_Pack-7.0.20.vbox-extpack     100%[=========================================================================================================================================>]  17,42M  56,5MB/s    in 0,3s    \n\n2024-07-18 14:59:09 (56,5 MB/s) - \u2018Oracle_VM_VirtualBox_Extension_Pack-7.0.20.vbox-extpack\u2019 saved [18263914/18263914]\n\nguru@lab:~$\n
"},{"location":"howtos/install-virtualbox7-linux-mint21/#install-extension-pack","title":"Install extension pack","text":"

You will be prompted to agree to the Oracle\u2019s license terms and conditions.

guru@lab:~$_output
sudo vboxmanage extpack install Oracle_VM_VirtualBox_Extension_Pack-7.0.20.vbox-extpack\n
guru@lab:~$ sudo vboxmanage extpack install Oracle_VM_VirtualBox_Extension_Pack-7.0.20.vbox-extpack \nVirtualBox Extension Pack Personal Use and Evaluation License (PUEL)\n\nLicense version 11, 21 May 2020\n\nPLEASE READ THE FOLLOWING ORACLE VM VIRTUALBOX EXTENSION PACK PERSONAL\nUSE AND EVALUATION LICENSE CAREFULLY BEFORE DOWNLOADING OR USING THE\nORACLE SOFTWARE...\n...\n...\nDo you agree to these license terms and conditions (y/n)? y\n\nLicense accepted. For batch installation add\n--accept-license=33d7284dc4a0ece381196fda3cfe2ed0e1e8e7ed7f27b9a9ebc4ee22e24bd23c\nto the VBoxManage command line.\n\n0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%\nSuccessfully installed \"Oracle VM VirtualBox Extension Pack\".\nguru@lab:~$ \n
"},{"location":"howtos/install-virtualbox7-linux-mint21/#verify-extension-pack","title":"Verify extension pack","text":"guru@lab:~$_output
vboxmanage list extpacks | grep \"Version\"\n
guru@lab:~$ vboxmanage list extpacks | grep \"Version\"\nVersion:        7.0.20\nguru@lab:~$ \n
"},{"location":"howtos/install-virtualbox7-linux-mint21/#add-user-to-vboxusers-group","title":"Add user to vboxusers group","text":"guru@lab:~$_output
sudo usermod -aG vboxusers guru\n
guru@lab:~$ sudo usermod -aG vboxusers guru\nguru@lab:~$ \n
"},{"location":"howtos/install-virtualbox7-linux-mint21/#reboot-verify-group-membership","title":"Reboot + verify group membership","text":"

The user's current session doesn't automatically update with the new group memberships. The id command only reflects the groups that the current session is aware of. The easiest way is to do a reboot first. Then check if the user is member of the group.

guru@lab:~$_output
sudo reboot\nid\n
guru@lab:~$ id\nuid=1000(guru) gid=1000(guru) groups=1000(guru),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),115(lpadmin),136(sambashare),138(vboxusers),999(vboxsf)\nguru@lab:~$ \n
"},{"location":"howtos/install-virtualbox7-linux-mint21/#start-virtualbox","title":"Start VirtualBox","text":"

Select \"Menu\" and start typing \"vir\". Start \"Oracle VM VirtualBox\".

"},{"location":"howtos/install-windows11-virtualbox/","title":"Install Windows 11 in VirtualBox 6.1.44","text":""},{"location":"howtos/install-windows11-virtualbox/#create-vm","title":"Create VM","text":"StepXStepX

XXX

XXX

"},{"location":"howtos/install-windows11-virtualbox/#configure-vm","title":"Configure VM","text":"

11 steps

"},{"location":"howtos/install-windows11-virtualbox/#install-os","title":"Install OS","text":""},{"location":"howtos/install-windows11-virtualbox/#boot-from-iso","title":"Boot from ISO","text":"

3 steps

"},{"location":"howtos/install-windows11-virtualbox/#bypass","title":"Bypass","text":"

4 steps

"},{"location":"howtos/install-windows11-virtualbox/#time-and-currency-format","title":"Time and currency format","text":"

Dutch (Belgium). Keyboard or input method: \u201cBelgian (Period).

"},{"location":"howtos/install-windows11-virtualbox/#activation-depends","title":"Activation (depends)","text":"

The presence or absence of the \"Windows activation\" screen during the installation of Windows 11 22H2 can depend on various factors. If you get this screen, choose \"I don't have a product key\". If not, proceed to the next step.

"},{"location":"howtos/install-windows11-virtualbox/#select-os-depends","title":"Select OS (depends)","text":"

The presence or absence of the \"Select the operating system you want to install\" screen during the installation of \"Windows 11 22H2\" can depend on various factors. If you get this screen, choose \"Windows 11 Pro\". If not, proceed to the next step.

"},{"location":"howtos/install-windows11-virtualbox/#install-now","title":"Install now","text":"

Notice, you also have a \"repair\" option here... Choose \"Install now\".

"},{"location":"howtos/install-windows11-virtualbox/#license-agreement","title":"License agreement","text":"

Accept.

"},{"location":"howtos/install-windows11-virtualbox/#type-of-installation","title":"Type of installation","text":"

Select \u201cCustom: Install Windows only (advanced)\".

"},{"location":"howtos/install-windows11-virtualbox/#installation-location-partitioning","title":"Installation location & partitioning","text":"

There are no partitions yet. Click \"next\".

"},{"location":"howtos/install-windows11-virtualbox/#installing","title":"Installing","text":"

Grab a coffee. The VM reboots for the first time. Virtual UEFI/BIOS won't boot of the ISO image, as it finds a Windows installation on the virtual harddrive. Getting ready. Restart2.

"},{"location":"howtos/install-windows11-virtualbox/#configuration","title":"Configuration","text":"

Personal preference here. I select \"Belgium\". Personal preference here. I select \"Belgian (Period)\". Select \"Skip\".

"},{"location":"howtos/install-windows11-virtualbox/#bypass-internet-connection","title":"Bypass internet connection","text":"

Momenteel is nog geen Internetverbinding actief (NAT-network). Microsoft wil ons hier nl. zoveel mogelijk pushen in de richting van een Microsoft account. Dit omzeilen we even. Druk \u201cshift+F10\u201d en typ op de commando-regel: \u201cOOBE\\BYPASSNRO\u201d (opgelet: letters \u201cO\u201d en geen cijfer \u201c0\u201d, mag in kleine letters)

De virtuele machine herstart en de OOBE (Out-of-the-box-experience) herstart. Helaas moet je nogmaals de correcte regio (Belgium) en keyboard layout (Belgium(period)) kiezen. \u201cSkip\u201d ook opnieuw de extra keyboard layout.

We krijgen nu de optie \u201cI don\u2019t have internet\u201d. Kies deze.

Selecteer \u201cContinue with limited setup\u201d.

"},{"location":"howtos/install-windows11-virtualbox/#account","title":"Account","text":"

Login: guru Password: guru Acknowlege the password: guru Security question1: Doggy Security question2: Wevelgem Security question3: IT guru

"},{"location":"howtos/install-windows11-virtualbox/#finishing","title":"Finishing","text":"

Location based services: \u201cNo\u201d. Find my device: \u201cNo\u201d. Diagnostic data: \u201cRequired only\u201d. Inking & typing: \u201cNo\u201d. Tailored experiences: \u201cNo\u201d. Advertising ID: \u201cNo\u201d. Installing... Installation done! Merk op, dat je in deze fase o.a. nog geen \u201cfull screen\u201d kan bekomen. Hiervoor zijn de \u201cvirtualbox guest additions\u201d nodig die we straks installeren.

"},{"location":"howtos/install-windows11-virtualbox/#configure-os","title":"Configure OS","text":""},{"location":"howtos/install-windows11-virtualbox/#guest-additions","title":"Guest additions","text":"

Op dit moment draait Windows 11 nog niet \u201cfullscreen\u201d \u00e9n is de shared folder \u201c/home/guru/Downloads\u201d nog niet zichtbaar in de Verkenner. Hiervoor dien je de \u201cVirtualBox Guest Additions\u201d te installeren. Selecteer in het Devices -> Insert Guest Additions CD Image (op het eerste zicht, gebeurt er niets, maar er wordt een virtuele CD \u201cgemount\u201d)

start de Verkenner: je ziet deze \u201cvirtuele CD\u201d nu via de D:\\ drive

Dubbelklik op \u201cVboxWindowsAdditions-amd64\u201d. Lees en begrijp alle meldingen. Volg de standaard installatie procedure + herstart.

Login (\u201cguru\u201d/\u201dguru\u201d)

Klik op View -> Full-screen Mode

Lees/begrijp wat vervolgens als pop-up verschijnt

Start de \u201cVerkenner\u201d: rechtermuisknop op D:\\ -> Eject (= \u201cverwijder de virtuele CD\u201d, de Verkenner sluit)

de shared folder \u201c/home/guru/Downloads\u201d is nu wel zichtbaar in de verkenner, via een drive-letter Z:

"},{"location":"howtos/install-windows11-virtualbox/#ip-address","title":"IP address","text":"

rechtermuisknop netwerk icoontje -> Network and Internet settings

klik op \u201cEthernet\u201d

klik op \u201cEdit\u201d

we gaan \u201cDHCP\u201d wijzigen naar \u201cManual\u201d, zet ineens \u201cIPv4\u201d aan en configureer IP, subnetmask, gateway en DNS server

\u201cWindows Key + R\u201d om het \u201crun\u201d venster te tonen + typ \u201ccmd\u201d om een commando-regel te starten: verifieer je Internetverbing

het netwerkicoon rechtsonderaan zal weldra wijzigen in dit:

"},{"location":"howtos/install-windows11-virtualbox/#computername","title":"Computername","text":"

wijzig de computernaam naar \u201cvm6\u201d (herstart \u201clater\u201d)

"},{"location":"howtos/install-windows11-virtualbox/#automatic-updates","title":"Automatic updates","text":"

doe een volledige update van Windows en herstart indien nodig

klik op \u201cCheck for updates\u201d, tot geen updates meer beschikbaar zijn

\u201cdisable\u201d daarna de automatic updates; - \u201cWindows Key + R\u201d om het \u201crun\u201d venster te tonen - typ \u201cservices.msc\u201d en druk \u201cEnter\u201d - scroll in de lijst tot je \u201cWindows Update\u201d ziet. Dubbelklik. Onder tab \u201cGeneral\u201d kies je bij \u201cStartup type\u201d voor \u201cDisabled\u201d. Klik vervolgens \u201cOK\u201d.

"},{"location":"howtos/install-windows11-virtualbox/#restart-and-shutdown","title":"Restart and shutdown","text":"

doe nog een laatste \u201cherstart\u201d

\u201cshutdown\u201d (afsluiten) van Windows

"},{"location":"howtos/install-windows11-virtualbox/#snapshot-vm","title":"Snapshot VM","text":"

Klik op het icoontje met de 3 vierkantjes/streepjes en kies \u201cSnapshots\u201d. Windows moet zeker \u201cPowered Off\u201d zijn.

Selecteer de \u201ccurrent state\u201d en klik op \u201cTake\u201d. Geef als naam \u201cClean install\u201d

Vanaf je iets wijzigt in deze virtuele machine, krijg je \u201cCurrent State (changed). Mocht je nu \u201cWindows\u201d om zeep helpen, dan kan je steeds terugkeren naar een \u201cClean install\u201d situatie via \u201cRestore snapshot\u201d.

"},{"location":"howtos/install-winscp-windows11/","title":"Install WinSCP on Windows 11","text":"
  • todo
"},{"location":"howtos/install-wireshark-linux-mint21/","title":"Install Wireshark on Linux Mint 21","text":""},{"location":"howtos/install-wireshark-linux-mint21/#prereqs","title":"Prereqs","text":"
  • a PC (BIOS/UEFI) running Linux Mint 21
"},{"location":"howtos/install-wireshark-linux-mint21/#update-package-list","title":"Update package list","text":"guru@lab:~$_output
sudo apt update\n
guru@lab:~$ sudo apt update\n[sudo] password for guru:     \nIgn:1 https://linuxmint-packages.mirror.liteserver.nl victoria InRelease\nHit:2 http://archive.ubuntu.com/ubuntu jammy InRelease                     \nHit:3 https://linuxmint-packages.mirror.liteserver.nl victoria Release     \nHit:4 http://security.ubuntu.com/ubuntu jammy-security InRelease\nHit:5 http://archive.ubuntu.com/ubuntu jammy-updates InRelease\nHit:6 http://archive.ubuntu.com/ubuntu jammy-backports InRelease\nReading package lists... Done\nBuilding dependency tree... Done\nReading state information... Done\nAll packages are up to date.\nguru@lab:~$  \n
"},{"location":"howtos/install-wireshark-linux-mint21/#install-wireshark","title":"Install Wireshark","text":"step1 (guru@lab:~$_)step2step3 (output)
sudo apt install wireshark -y\n

Let's allow non-superusers to capture packets.

guru@lab:~$ sudo apt install wireshark -y\nReading package lists... Done\nBuilding dependency tree... Done\nReading state information... Done\nThe following additional packages will be installed:\nlibbcg729-0 libminizip1 libqt5multimedia5 libqt5multimedia5-plugins libqt5multimediagsttools5 libqt5multimediawidgets5 libqt5printsupport5 libsmi2ldbl libwireshark-data libwireshark15 libwiretap12 libwsutil13 wireshark-common\nwireshark-qt\nSuggested packages:\nsnmp-mibs-downloader geoipupdate geoip-database-extra libjs-leaflet libjs-leaflet.markercluster wireshark-doc\nThe following NEW packages will be installed:\nlibbcg729-0 libminizip1 libqt5multimedia5 libqt5multimedia5-plugins libqt5multimediagsttools5 libqt5multimediawidgets5 libqt5printsupport5 libsmi2ldbl libwireshark-data libwireshark15 libwiretap12 libwsutil13 wireshark\nwireshark-common wireshark-qt\n0 upgraded, 15 newly installed, 0 to remove and 0 not upgraded.\nNeed to get 27,3 MB of archives.\nAfter this operation, 131 MB of additional disk space will be used.\nGet:1 http://archive.ubuntu.com/ubuntu jammy/universe amd64 libbcg729-0 amd64 1.1.1-2 [32,9 kB]\nGet:2 http://archive.ubuntu.com/ubuntu jammy/universe amd64 libminizip1 amd64 1.1-8build1 [20,2 kB]\nGet:3 http://archive.ubuntu.com/ubuntu jammy/universe amd64 libqt5multimedia5 amd64 5.15.3-1 [320 kB]\nGet:4 http://archive.ubuntu.com/ubuntu jammy/universe amd64 libqt5multimediawidgets5 amd64 5.15.3-1 [42,6 kB]\nGet:5 http://archive.ubuntu.com/ubuntu jammy/universe amd64 libqt5multimediagsttools5 amd64 5.15.3-1 [112 kB]\nGet:6 http://archive.ubuntu.com/ubuntu jammy/universe amd64 libqt5multimedia5-plugins amd64 5.15.3-1 [178 kB]\nGet:7 http://archive.ubuntu.com/ubuntu jammy-updates/universe amd64 libqt5printsupport5 amd64 5.15.3+dfsg-2ubuntu0.2 [214 kB]\nGet:8 http://archive.ubuntu.com/ubuntu jammy/universe amd64 libsmi2ldbl amd64 0.4.8+dfsg2-16 [100 kB]\nGet:9 http://archive.ubuntu.com/ubuntu jammy/universe amd64 libwireshark-data all 3.6.2-2 [1.647 kB]\nGet:10 http://archive.ubuntu.com/ubuntu jammy/universe amd64 libwsutil13 amd64 3.6.2-2 [99,2 kB]\nGet:11 http://archive.ubuntu.com/ubuntu jammy/universe amd64 libwiretap12 amd64 3.6.2-2 [255 kB]\nGet:12 http://archive.ubuntu.com/ubuntu jammy/universe amd64 libwireshark15 amd64 3.6.2-2 [19,5 MB]\nGet:13 http://archive.ubuntu.com/ubuntu jammy/universe amd64 wireshark-common amd64 3.6.2-2 [473 kB]\nGet:14 http://archive.ubuntu.com/ubuntu jammy/universe amd64 wireshark-qt amd64 3.6.2-2 [4.269 kB]\nGet:15 http://archive.ubuntu.com/ubuntu jammy/universe amd64 wireshark amd64 3.6.2-2 [4.992 B]\nFetched 27,3 MB in 2s (13,0 MB/s)      \nPreconfiguring packages ...\nSelecting previously unselected package libbcg729-0:amd64.\n(Reading database ... 560791 files and directories currently installed.)\nPreparing to unpack .../00-libbcg729-0_1.1.1-2_amd64.deb ...\nUnpacking libbcg729-0:amd64 (1.1.1-2) ...\nSelecting previously unselected package libminizip1:amd64.\nPreparing to unpack .../01-libminizip1_1.1-8build1_amd64.deb ...\nUnpacking libminizip1:amd64 (1.1-8build1) ...\nSelecting previously unselected package libqt5multimedia5:amd64.\nPreparing to unpack .../02-libqt5multimedia5_5.15.3-1_amd64.deb ...\nUnpacking libqt5multimedia5:amd64 (5.15.3-1) ...\nSelecting previously unselected package libqt5multimediawidgets5:amd64.\nPreparing to unpack .../03-libqt5multimediawidgets5_5.15.3-1_amd64.deb ...\nUnpacking libqt5multimediawidgets5:amd64 (5.15.3-1) ...\nSelecting previously unselected package libqt5multimediagsttools5:amd64.\nPreparing to unpack .../04-libqt5multimediagsttools5_5.15.3-1_amd64.deb ...\nUnpacking libqt5multimediagsttools5:amd64 (5.15.3-1) ...\nSelecting previously unselected package libqt5multimedia5-plugins:amd64.\nPreparing to unpack .../05-libqt5multimedia5-plugins_5.15.3-1_amd64.deb ...\nUnpacking libqt5multimedia5-plugins:amd64 (5.15.3-1) ...\nSelecting previously unselected package libqt5printsupport5:amd64.\nPreparing to unpack .../06-libqt5printsupport5_5.15.3+dfsg-2ubuntu0.2_amd64.deb ...\nUnpacking libqt5printsupport5:amd64 (5.15.3+dfsg-2ubuntu0.2) ...\nSelecting previously unselected package libsmi2ldbl:amd64.\nPreparing to unpack .../07-libsmi2ldbl_0.4.8+dfsg2-16_amd64.deb ...\nUnpacking libsmi2ldbl:amd64 (0.4.8+dfsg2-16) ...\nSelecting previously unselected package libwireshark-data.\nPreparing to unpack .../08-libwireshark-data_3.6.2-2_all.deb ...\nUnpacking libwireshark-data (3.6.2-2) ...\nSelecting previously unselected package libwsutil13:amd64.\nPreparing to unpack .../09-libwsutil13_3.6.2-2_amd64.deb ...\nUnpacking libwsutil13:amd64 (3.6.2-2) ...\nSelecting previously unselected package libwiretap12:amd64.\nPreparing to unpack .../10-libwiretap12_3.6.2-2_amd64.deb ...\nUnpacking libwiretap12:amd64 (3.6.2-2) ...\nSelecting previously unselected package libwireshark15:amd64.\nPreparing to unpack .../11-libwireshark15_3.6.2-2_amd64.deb ...\nUnpacking libwireshark15:amd64 (3.6.2-2) ...\nSelecting previously unselected package wireshark-common.\nPreparing to unpack .../12-wireshark-common_3.6.2-2_amd64.deb ...\nUnpacking wireshark-common (3.6.2-2) ...\nSelecting previously unselected package wireshark-qt.\nPreparing to unpack .../13-wireshark-qt_3.6.2-2_amd64.deb ...\nUnpacking wireshark-qt (3.6.2-2) ...\nSelecting previously unselected package wireshark.\nPreparing to unpack .../14-wireshark_3.6.2-2_amd64.deb ...\nUnpacking wireshark (3.6.2-2) ...\nSetting up libbcg729-0:amd64 (1.1.1-2) ...\nSetting up libminizip1:amd64 (1.1-8build1) ...\nSetting up libqt5multimedia5:amd64 (5.15.3-1) ...\nSetting up libqt5printsupport5:amd64 (5.15.3+dfsg-2ubuntu0.2) ...\nSetting up libsmi2ldbl:amd64 (0.4.8+dfsg2-16) ...\nSetting up libwsutil13:amd64 (3.6.2-2) ...\nSetting up libwiretap12:amd64 (3.6.2-2) ...\nSetting up libqt5multimediawidgets5:amd64 (5.15.3-1) ...\nSetting up libwireshark-data (3.6.2-2) ...\nSetting up libqt5multimediagsttools5:amd64 (5.15.3-1) ...\nSetting up libqt5multimedia5-plugins:amd64 (5.15.3-1) ...\nSetting up libwireshark15:amd64 (3.6.2-2) ...\nSetting up wireshark-common (3.6.2-2) ...\nSetting up wireshark-qt (3.6.2-2) ...\nSetting up wireshark (3.6.2-2) ...\nProcessing triggers for libc-bin (2.35-0ubuntu3.1) ...\nProcessing triggers for man-db (2.10.2-1) ...\nProcessing triggers for shared-mime-info (2.1-2) ...\nProcessing triggers for mailcap (3.70+nmu1ubuntu1) ...\nProcessing triggers for desktop-file-utils (0.26+mint3+victoria) ...\nProcessing triggers for hicolor-icon-theme (0.17-2) ...\nProcessing triggers for gnome-menus (3.36.0-1ubuntu3) ...\nguru@lab:~$  \n
"},{"location":"howtos/install-wireshark-linux-mint21/#fix-stuff","title":"Fix stuff","text":"step1step2 (guru@lab:~$_)step3 (output)step4

When you start Wireshark, no interfaces are listed (bug?)

Let's add the user \"guru\" to the existing group \"wireshark\".

sudo usermod -a -G wireshark guru\n
guru@lab:~$ sudo usermod -a -G wireshark guru\n[sudo] password for guru:     \nguru@lab:~$\n

Log off and log in. Start Wireshark. The network card(s) should be listed now.

"},{"location":"howtos/install-wireshark-windows11/","title":"Install Wireshark on Windows 11","text":"
  • todo
"},{"location":"howtos/install-xmind-linux-mint/","title":"Install Xmind 8 on Linux Mint 21","text":""},{"location":"howtos/install-xmind-linux-mint/#prereqs","title":"Prereqs","text":"
  • a PC (BIOS/UEFI) running Linux Mint 21
  • internet connection
"},{"location":"howtos/install-xmind-linux-mint/#download","title":"Download","text":"guru@hp:~$_output
# directory Downloads/XMind will be created\nwget https://www.xmind.net/xmind/downloads/xmind-8-update9-linux.zip -P Downloads/Xmind/\n
guru@hp:~$ wget https://www.xmind.net/xmind/downloads/xmind-8-update9-linux.zip -P Downloads/Xmind/\n--2022-05-13 14:09:16--  https://www.xmind.net/xmind/downloads/xmind-8-update9-linux.zip\nResolving www.xmind.net (www.xmind.net)... 3.232.41.189, 44.194.150.33\nConnecting to www.xmind.net (www.xmind.net)|3.232.41.189|:443... connected.\nHTTP request sent, awaiting response... 302 Found\nLocation: https://dl3.xmind.net/xmind-8-update9-linux.zip [following]\n--2022-05-13 14:09:16--  https://dl3.xmind.net/xmind-8-update9-linux.zip\nResolving dl3.xmind.net (dl3.xmind.net)... 13.227.219.86, 13.227.219.108, 13.227.219.84, ...\nConnecting to dl3.xmind.net (dl3.xmind.net)|13.227.219.86|:443... connected.\nHTTP request sent, awaiting response... 200 OK\nLength: 120292589 (115M) [application/zip]\nSaving to: \u2018Downloads/Xmind/xmind-8-update9-linux.zip\u2019\n\nxmind-8-update9-linux.zip                                   100%[=========================================================================================================================================>] 114.72M  14.5MB/s    in 11s     \n\n2022-05-13 14:09:28 (9.98 MB/s) - \u2018Downloads/Xmind/xmind-8-update9-linux.zip\u2019 saved [120292589/120292589]\n\nguru@hp:~$\n
"},{"location":"howtos/install-xmind-linux-mint/#unzip-and-remove-zip-file","title":"Unzip and remove zip file","text":"guru@hp:~$_output
unzip Downloads/Xmind/xmind-8-update9-linux.zip -d Downloads/Xmind/ > /dev/null 2>&1\nrm Downloads/Xmind/xmind-8-update9-linux.zip\n
guru@hp:~$ unzip Downloads/Xmind/xmind-8-update9-linux.zip -d Downloads/Xmind/ > /dev/null 2>&1\nguru@hp:~$ rm Downloads/Xmind/xmind-8-update9-linux.zip\nguru@hp:~$\n
"},{"location":"howtos/install-xmind-linux-mint/#check-and-adjust-requirements","title":"Check and adjust requirements","text":"Step1Step2Step3Step4

List the contents of the installation directory. Notice \"setup.sh\".

guru@hp:~$ ls -lh Downloads/Xmind/\ntotal 676K\n-rw-r--r--  1 guru guru 403K Dec  9  2019 artifacts.xml\ndrwxr-xr-x  2 guru guru 4.0K Dec  9  2019 configuration\n-rw-r--r--  1 guru guru  17K Mar 15  2017 epl-v10.html\ndrwxr-xr-x 25 guru guru 4.0K Dec  9  2019 features\ndrwxr-xr-x  2 guru guru 4.0K Mar 15  2017 fonts\n-rw-r--r--  1 guru guru 8.3K Mar 15  2017 lgpl-3.0.html\ndrwxr-xr-x 21 guru guru 168K Dec  9  2019 plugins\n-rw-r--r--  1 guru guru  38K Dec  9  2019 readme.txt\n-rwxr-xr-x  1 guru guru  546 Jul  2  2018 setup.sh\ndrwxr-xr-x  4 guru guru 4.0K Dec  9  2019 XMind_amd64\ndrwxr-xr-x  4 guru guru 4.0K Dec  9  2019 XMind_i386\n-rw-r--r--  1 guru guru 3.2K Jul 23  2018 xpla.txt\nguru@hp:~$\n

Check the contents of that file. Notice the required packages.

guru@hp:~$ cat Downloads/Xmind/setup.sh\n#!/bin/bash\n\nset -e\n\nSCRIPT_NAME=\"$0\"\nSCRIPT_DIR=\"$(cd \"$(dirname \"$SCRIPT_NAME\")\" && pwd)\"\n\necho \"[setup] Installing dependencies....\"\napt-get install openjdk-8-jre libgtk2.0-0 libwebkitgtk-1.0-0 lame libc6 libglib2.0-0\n\nFONTS_DIR=\"$SCRIPT_DIR/fonts\"\nif [ -d \"$FONTS_DIR\" ]; then\n    echo \"[setup] Installing custom fonts....\"\n    mkdir -p /usr/share/fonts/truetype/xmind\n    rsync -av \"$FONTS_DIR/\" /usr/share/fonts/truetype/xmind/\n    fc-cache -f\nelse\n    echo \"[setup] WARNING: Custom fonts for XMind are not found.\"\nfi\n\necho \"[setup] Done.\"\nguru@hp:~$\n

Notice that package \"libwebkitgtk-1.0-0\" is not available in the repository. There is a package \"libwebkit2gtk-4.0-37\" already installed though...

guru@hp:~$ apt-cache policy openjdk-8-jre libgtk2.0-0 libwebkitgtk-1.0-0 lame libc6 libglib2.0-0 | grep \"Candidate\"\n  Candidate: 8u312-b07-0ubuntu1~20.04\n  Candidate: 2.24.32-4ubuntu4\n  Candidate: (none)\n  Candidate: 3.100-3\n  Candidate: 2.31-0ubuntu9.9\n  Candidate: 2.64.6-1~ubuntu20.04.4\n\nguru@hp:~$ dpkg -l | grep libwebkit\nii  libwebkit2gtk-4.0-37:amd64                 2.34.6-0ubuntu0.20.04.1             amd64        Web content engine library for GTK\nguru@hp:~$ \n

And notice that packages \"libgtk2.0-0\", \"libc6\" and \"libglib2.0-0\" are already installed.

guru@hp:~$ apt-cache policy openjdk-8-jre libgtk2.0-0 libwebkitgtk-1.0-0 lame libc6 libglib2.0-0 | grep \"Installed\"\n  Installed: (none)\n  Installed: 2.24.32-4ubuntu4\n  Installed: (none)\n  Installed: (none)\n  Installed: 2.31-0ubuntu9.7\n  Installed: 2.64.6-1~ubuntu20.04.4\nguru@hp:~$ \n
"},{"location":"howtos/install-xmind-linux-mint/#adjust-setupsh","title":"Adjust setup.sh","text":"guru@hp:~$_/home/guru/Downloads/Xmind/setup.sh

I don't know why I would need \"lame\". So we only need 1 package. This sed-oneliner makes the adjustment.

sed -i '/apt-get/c\\apt-get install openjdk-8-jre' Downloads/Xmind/setup.sh\n
#!/bin/bash\n\nset -e\n\nSCRIPT_NAME=\"$0\"\nSCRIPT_DIR=\"$(cd \"$(dirname \"$SCRIPT_NAME\")\" && pwd)\"\n\necho \"[setup] Installing dependencies....\"\napt-get install openjdk-8-jre\n\nFONTS_DIR=\"$SCRIPT_DIR/fonts\"\nif [ -d \"$FONTS_DIR\" ]; then\n    echo \"[setup] Installing custom fonts....\"\n    mkdir -p /usr/share/fonts/truetype/xmind\n    rsync -av \"$FONTS_DIR/\" /usr/share/fonts/truetype/xmind/\n    fc-cache -f\nelse\n    echo \"[setup] WARNING: Custom fonts for XMind are not found.\"\nfi\n\necho \"[setup] Done.\"\n
"},{"location":"howtos/install-xmind-linux-mint/#execute-setupsh","title":"Execute setup.sh","text":"guru@hp:~$_output
sudo Downloads/Xmind/setup.sh\n
guru@hp:~$ sudo Downloads/Xmind/setup.sh\n[sudo] password for guru:     \n[setup] Installing dependencies....\nReading package lists... Done\nBuilding dependency tree... Done\nReading state information... Done\nThe following additional packages will be installed:\nfonts-dejavu-extra libatk-wrapper-java libatk-wrapper-java-jni openjdk-8-jre-headless\nSuggested packages:\nfonts-ipafont-gothic fonts-ipafont-mincho fonts-wqy-microhei fonts-wqy-zenhei\nThe following NEW packages will be installed:\nfonts-dejavu-extra libatk-wrapper-java libatk-wrapper-java-jni openjdk-8-jre openjdk-8-jre-headless\n0 upgraded, 5 newly installed, 0 to remove and 0 not upgraded.\nNeed to get 33,0 MB of archives.\nAfter this operation, 112 MB of additional disk space will be used.\nDo you want to continue? [Y/n] y\n...\n
"},{"location":"howtos/install-xmind-linux-mint/#find-out-the-path-for-java-8","title":"Find out the path for java-8","text":"guru@hp:~$_output
update-alternatives --display java\n
guru@hp:~$ update-alternatives --display java\njava - auto mode\n  link best version is /usr/lib/jvm/java-11-openjdk-amd64/bin/java\n  link currently points to /usr/lib/jvm/java-11-openjdk-amd64/bin/java\n  link java is /usr/bin/java\n  slave java.1.gz is /usr/share/man/man1/java.1.gz\n/usr/lib/jvm/java-11-openjdk-amd64/bin/java - priority 1111\n  slave java.1.gz: /usr/lib/jvm/java-11-openjdk-amd64/man/man1/java.1.gz\n/usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java - priority 1081\n  slave java.1.gz: /usr/lib/jvm/java-8-openjdk-amd64/jre/man/man1/java.1.gz\n
"},{"location":"howtos/install-xmind-linux-mint/#adjust-xmindini","title":"Adjust xmind.ini","text":"guru@hp:~$_/home/guru/Downloads/Xmind/XMind_amd64/XMind.ini

This sed-onliner adds 2 lines at the beginning of the file. Xmind 8 needs the older java runtime.

sudo sed -i '1i -vm\\n/usr/lib/jvm/java-8-openjdk-amd64/jre/bin' Downloads/Xmind/XMind_amd64/XMind.ini\n
-vm\n/usr/lib/jvm/java-8-openjdk-amd64/jre/bin\n-configuration\n./configuration\n-data\n../workspace\n-startup\n../plugins/org.eclipse.equinox.launcher_1.3.200.v20160318-1642.jar\n--launcher.library\n../plugins/org.eclipse.equinox.launcher.gtk.linux.x86_64_1.1.400.v20160518-1444\n--launcher.defaultAction\nopenFile\n--launcher.GTK_version\n2\n-eclipse.keyring\n@user.home/.xmind/secure_storage_linux\n-vmargs\n-Dfile.encoding=UTF-8\n
"},{"location":"howtos/install-xmind-linux-mint/#start-xmind-the-right-way","title":"Start Xmind the right way","text":"Step1Step2

Starting Xmind like this, won't work.

This will.

"},{"location":"howtos/linuxmint21-bootable-usb-flash-drive/","title":"Create a Linux Mint 21 bootable USB flash drive","text":""},{"location":"howtos/linuxmint21-bootable-usb-flash-drive/#prereqs","title":"Prereqs","text":"
  • USB flash drive that can hold the Linux Mint 21 installation files
  • a PC (BIOS/UEFI) running Windows 11 or Linux Mint 21
  • internet connection
"},{"location":"howtos/linuxmint21-bootable-usb-flash-drive/#download-iso","title":"Download ISO","text":"Step1Step2Step3

Use your favorite search engine to search for the Linux Mint 21 iso and choose the official Linux Mint website. (VDAB users: download from your Google Drive!)

Select the \"Cinnamon Edition\".

Choose your favorite download mirror. The ISO file will be saved to your local disk.

"},{"location":"howtos/linuxmint21-bootable-usb-flash-drive/#on-windows-11","title":"On Windows 11","text":""},{"location":"howtos/linuxmint21-bootable-usb-flash-drive/#with-rufus","title":"With Rufus","text":""},{"location":"howtos/linuxmint21-bootable-usb-flash-drive/#download-and-install-rufus","title":"Download and install Rufus","text":"Step1Step2Step3Step4Step5

Use your favorite search engine to search for Rufus and choose the official website.

Click the current \"standard\" installer version. The file will be saved to your local disk.

Execute the installer and allow for changes.

Allow Rufus to check for updates.

Done. Installation finished.

"},{"location":"howtos/linuxmint21-bootable-usb-flash-drive/#for-bios-or-uefi-csm","title":"For BIOS (or UEFI-CSM)","text":"Step1Step2Step3Step4Step5Step6
  1. Insert the USB flash drive
  2. Navigate to and select the Linux Mint 21 ISO file
  3. Choose \"MBR\" as partition scheme
  4. Select \"BIOS or UEFI\" as target system
  5. Select \"Large FAT32 (Default)\" as file system
  6. Click \"Start\"

Select \"Write in ISO Image mode (Recommended).

Let Rufus download the latest syslinux files (if asked).

Click \"OK\" to confirm the USB\u2019s deletion and the bootable drive\u2019s creation.

Time to grab a coffee. Wait until the status is \"Ready\".

Close Rufus and eject the USB media.

"},{"location":"howtos/linuxmint21-bootable-usb-flash-drive/#for-uefi-non-csm","title":"For UEFI (non-CSM)","text":"Step1Step2Step3Step4Step5Step6
  1. Insert a USB flash drive with enough space
  2. Navigate to and select the Linux Mint 21 ISO file
  3. Choose \"GPT\" as partition scheme
  4. Select \"UEFI (non-CSM)\" as target system
  5. Select \"NTFS\" as file system
  6. Click \"Start\"

Select \"Write in ISO Image mode (Recommended)\".

If asked, let Rufus download the latest syslinux files. Otherwise, skip this step.

Click \"OK\" to confirm the USB\u2019s deletion and the bootable drive\u2019s creation.

Time to grab a coffee. Wait until the status is \"Ready\".

Close Rufus and eject the USB media.

"},{"location":"howtos/linuxmint21-bootable-usb-flash-drive/#with-etcher","title":"With Etcher","text":"

Todo...

"},{"location":"howtos/linuxmint21-bootable-usb-flash-drive/#on-linux-mint-21","title":"On Linux Mint 21","text":"

Todo...

"},{"location":"howtos/password-recovery-cisco1941/","title":"Password recovery on a Cisco 1941 router","text":""},{"location":"howtos/password-recovery-cisco1941/#prereqs","title":"Prereqs","text":"
  • a PC (BIOS/UEFI) running Linux Mint 21
    • minicom terminal emulation software
  • a serial console cable
  • a Cisco 1941 router
    • a working IOS, but inaccessible (forgotten console and/or enable password)
"},{"location":"howtos/password-recovery-cisco1941/#setup","title":"Setup","text":""},{"location":"howtos/password-recovery-cisco1941/#situation","title":"Situation","text":"

The \"console password\" and \"enable password\" (Privileged EXEC mode) are - amongst other router configuration settings - stored in startup-config (NVRAM). Recovery of a lost password is only useful if you have a inacessible (but working) IOS. If not, you have a bigger problem and have to (re)install an IOS operating system first.

Problem1Problem2

No access to the console.

...\nUser Access Verification\n\nPassword:           <--- enter wrong password\nPassword:           <--- enter wrong password\nPassword:           <--- enter wrong password\n% Bad passwords\n

Access to the console, but no access to privileged exec mode.

Router>enable\nPassword:           <--- enter wrong password\nPassword:           <--- enter wrong password\nPassword:           <--- enter wrong password\n% Bad secrets\n\nRouter>\n
"},{"location":"howtos/password-recovery-cisco1941/#rommon","title":"ROMMON","text":"

Boot the router in ROMMON-mode using the break sequence mechanism. To my knowledge, there is no \"password recovery mechanism\" like on a Cisco 2960 switch.

Step1Step2Step3Step4aStep4bStep5Step6

The configuration register is typically set to 0x2102. Let's change it to 0x2142. This will bypass the startup-configuration file.

rommon 1 > confreg 0x2142 \n\nYou must reset or power cycle for new config to take effect\nrommon 2 > \n

Reload the router.

rommon 3 > reset\n\nSystem Bootstrap, Version 15.0(1r)M16, RELEASE SOFTWARE (fc1)\n...\n

You are greeted with the initial configuration dialog. Answer \"no\" and press Enter. Go to privileged exec mode.

--- System Configuration Dialog ---\n\nWould you like to enter the initial configuration dialog? [yes/no]: no\n\nPress RETURN to get started!\n...\n...\nRouter>enable\nRouter#\n

Optional: if you do not want to keep the startup-configuration, delete it now. Else, skip this step.

Router#erase startup-config \nErasing the nvram filesystem will remove all configuration files! Continue? [confirm]\n[OK]\nErase of nvram: complete\nRouter#\n

Optional: if you do want to keep the startup-configuration, copy it to memory. Else, skip this step.

Router#copy startup-config running-config\nDestination filename [running-config]? \n1170 bytes copied in 0.132 secs (8864 bytes/sec)\n\nRouter#\n

Configure the new privileged exec mode and console passwords. Change the configuration register back to 0x2102. Save the running-configuration and reload.

Router#conf t\nRouter(config)#enable secret cisco-EN-pass\n\nRouter(config)#line console 0\nRouter(config-line)#password cisco-CON-pass\nRouter(config-line)#login\nRouter(config-line)#exit\n\nRouter(config)#config-register 0x2102\nRouter(config)#end\n\nRouter#copy running-config startup-config\nDestination filename [startup-config]? \nBuilding configuration...\n[OK]\n\nRouter#reload\nProceed with reload? [confirm]\n\n*Apr  4 12:22:50.391: %SYS-5-RELOAD: Reload requested by console. Reload Reason: Reload Command.\n

Login using the new console password. Enter privileged exec mode using the new \"enable\" password.

User Access Verification\n\nPassword:                                               ---> enter \"cisco-CON-pass\"\n\nRouter>\n\nRouter>enable\nPassword:                                               ---> enter \"cisco-EN-pass\"\nRouter#\n
"},{"location":"howtos/password-recovery-cisco2960/","title":"Password recovery on a Cisco 2960 switch","text":""},{"location":"howtos/password-recovery-cisco2960/#prereqs","title":"Prereqs","text":"
  • a PC (BIOS/UEFI) running Linux Mint 21
    • minicom terminal emulation software
  • a serial console cable
  • a Cisco 2960 24TT-L or 24TC-L Plus switch
    • a working IOS, but inaccessible (forgotten console and/or enable password)
"},{"location":"howtos/password-recovery-cisco2960/#setup","title":"Setup","text":""},{"location":"howtos/password-recovery-cisco2960/#situation","title":"Situation","text":"

The \"console password\" and \"enable password\" (Privileged EXEC mode) are - amongst other switch configuration settings - stored in startup-config (NVRAM). Recovery of a lost password is only useful if you have a inacessible (but working) IOS. If not, you have a bigger problem and have to (re)install an IOS operating system first.

Problem1Problem2

No access to the console.

...\nUser Access Verification\n\nPassword:           <--- enter wrong password\nPassword:           <--- enter wrong password\nPassword:           <--- enter wrong password\n% Bad passwords\n

Access to the console, but no access to privileged exec mode.

Switch>enable\nPassword:           <--- enter wrong password\nPassword:           <--- enter wrong password\nPassword:           <--- enter wrong password\n% Bad secrets\n\nSwitch>\n
"},{"location":"howtos/password-recovery-cisco2960/#rommon","title":"ROMMON","text":"

Boot the switch in ROMMON-mode using a cold start. If the password recovery mechanism is enabled, it is possible to either keep the startup configuration file or choose to discard it. If the password recovery mechanism is disabled, you are forced to discard all device configuration.

"},{"location":"howtos/password-recovery-cisco2960/#password-recovery-mechanism-enabled","title":"Password recovery mechanism enabled","text":"Step1Step2Step3Step4

List the files stored in flash. The startup configuration file in this mode is named \"config.text\".

switch: dir flash:\nDirectory of flash:/\n\n    2  -rwx  15979776  <date>               c2960-lanbasek9-mz.150-2.SE11.bin\n    3  drwx  128       <date>               pnp-tech\n    4  drwx  0         <date>               pnp-info\n    5  -rwx  1781      <date>               config.text\n    8  -rwx  1921      <date>               private-config.text\n    9  -rwx  3096      <date>               multiple-fs\n\n49462784 bytes available (16081408 bytes used)\n\nswitch: \n

Optional: should you choose to keep the startup configuration file, temporary rename that file. If not, skip this step.

switch: rename flash:config.text flash:config.text.bak\nswitch:\n

Optional: should you choose to discard the startup configuration file, delete that file. If not, skip this step.

switch: delete flash:config.text\nswitch:\n

Boot the switch manually.

switch: boot\nLoading \"flash:c2960-lanbasek9-mz.150-2.SE11.bin\"...@@@@@@@@@@@@@@@@@\n...\n
"},{"location":"howtos/password-recovery-cisco2960/#password-recovery-mechanism-disabled","title":"Password recovery mechanism disabled","text":"

If the password recovery mechanism is disabled, it was not possible to keep the startup configuration file and you had to reset the system back to the default configuration.

Step1Step2

List the files stored in flash. The startup configuration file is absent!

switch: dir flash:\nDirectory of flash:/\n\n    2  -rwx  15979776  <date>               c2960-lanbasek9-mz.150-2.SE11.bin\n    3  drwx  128       <date>               pnp-tech\n    4  drwx  0         <date>               pnp-info\n    8  -rwx  5         <date>               private-config.text\n    9  -rwx  3096      <date>               multiple-fs\n\n49415168 bytes available (16129024 bytes used)\n\nswitch: \n

Boot the switch manually.

switch: boot\nLoading \"flash:c2960-lanbasek9-mz.150-2.SE11.bin\"...@@@@@@@@@@@@@@@@@\n...\n
"},{"location":"howtos/password-recovery-cisco2960/#ios","title":"IOS","text":"Step1Step2Step3Step4Step5

At this point, there is no startup configuration file (only a backup startup configuration file, if chosen). Enter \"no\" at the initial configuration setup prompt and change to privileged exec mode.

        --- System Configuration Dialog ---\n\nWould you like to enter the initial configuration dialog? [yes/no]:     -----> enter \"no\"\nSwitch>enable\nSwitch#\n

If you have a backup startup configuration file and want to restore it, copy the contents of the backup startup configuration file to the running configuration and delete that backup file. If not, skip this step.

Switch#copy flash:config.text.bak running-config\nDestination filename [running-config]?                  ---> ENTER\n% Login disabled on line 1, until 'password' is set\n% Login disabled on line 2, until 'password' is set\n% Login disabled on line 3, until 'password' is set\n% Login disabled on line 4, until 'password' is set\n% Login disabled on line 5, until 'password' is set\n% Login disabled on line 6, until 'password' is set\n% Login disabled on line 7, until 'password' is set\n% Login disabled on line 8, until 'password' is set\n% Login disabled on line 9, until 'password' is set\n% Login disabled on line 10, until 'password' is set\n% Login disabled on line 11, until 'password' is set\n% Login disabled on line 12, until 'password' is set\n% Login disabled on line 13, until 'password' is set\n% Login disabled on line 14, until 'password' is set\n% Login disabled on line 15, until 'password' is set\n% Login disabled on line 16, until 'password' is set\n1781 bytes copied in 0.964 secs (1848 bytes/sec)\n\nSwitch#delete flash:config.text.bak\nDelete filename [config.text.bak]?                      ---> ENTER\nDelete flash:/config.text.bak? [confirm]                ---> ENTER\nSwitch#\n

Set the necessary password(s) and obscure the console clear-text password.

Switch#configure terminal \nEnter configuration commands, one per line.  End with CNTL/Z.\nSwitch(config)#enable secret cisco-EN-pass\nSwitch(config)#line console 0\nSwitch(config-line)#password cisco-CON-pass\nSwitch(config-line)#login\nSwitch(config-line)#exit\nSwitch(config)#service password-encryption \nSwitch(config)#end\nSwitch#\n

Copy the running configuration to the startup configuration. Restart the switch.

Switch#copy running-configuration startup-configuration         \nBuilding configuration...\n[OK]\n\nSwitch#reload\nProceed with reload? [confirm]                          ---> ENTER\n\n*Mar  1 00:15:53.633: %SYS-5-RELOAD: Reload requested by console. Reload Reason: Reload command.\n...\n

Login using the new console password. Enter privileged exec mode using the new \"enable\" password.

User Access Verification\n\nPassword:                                               ---> enter \"cisco-CON-pass\"\n\nSwitch>\n\nSwitch>enable\nPassword:                                               ---> enter \"cisco-EN-pass\"\nSwitch#\n
"},{"location":"howtos/reinstall-ios-cisco1941/","title":"(Re)install an IOS operating system on a Cisco 1941 router","text":""},{"location":"howtos/reinstall-ios-cisco1941/#prereqs","title":"Prereqs","text":"
  • a PC (BIOS/UEFI) running Linux Mint 21
    • minicom terminal emulation software
    • (a tFTP service)
  • a console cable
  • (a network cable)
  • a Cisco 1941 router
"},{"location":"howtos/reinstall-ios-cisco1941/#situation","title":"Situation","text":"

At the time of writing, the latest IOS for a Cisco 1941 router is c1900-universalk9-mz.SPA.157-3.M8.bin I'll use that version for the examples.

"},{"location":"howtos/reinstall-ios-cisco1941/#ios-transfer-over-serial-xmodem","title":"IOS transfer over serial (xmodem)","text":""},{"location":"howtos/reinstall-ios-cisco1941/#from-ios","title":"From IOS","text":"Step1Step2Step3Step4Step5Step6Step7Step8

Verify that there is enough space left on the Flash filesystem to add an (additional) IOS. In this example, I will simulate a missing IOS by deleting it. Do not reload!

Router#dir flash:\nDirectory of flash0:/\n\n    1  -rw-    85053068  Nov 30 1983 00:00:00 +00:00  c1900-universalk9-mz.SPA.157-3.M8.bin\n    2  -rw-          34   Apr 4 2022 10:30:50 +00:00  pnp-tech-time\n    3  -rw-      138509   Apr 4 2022 10:31:02 +00:00  pnp-tech-discovery-summary\n\n256610304 bytes total (171413504 bytes free)\nRouter#\nRouter#delete flash:/c1900-universalk9-mz.SPA.157-3.M8.bin\nDelete filename [c1900-universalk9-mz.SPA.157-3.M8.bin]? \nDelete flash0:/c1900-universalk9-mz.SPA.157-3.M8.bin? [confirm]\nRouter#\n

Set the baud rate to 115200 to speed up the transfer. You will lose the connection after the last command. Some gibberish characters can emerge.

Router#conf t\nEnter configuration commands, one per line.  End with CNTL/Z.\nRouter(config)#line console 0\nRouter(config-line)#speed 115200\nC\ufffd\n

Adjust the settings in your terminal emulation program to match the new baud rate. For minicom, press Ctrl+A and then Z. Type O and choose \"Serial port setup\". Change setting E and Enter twice. Exit.

Router#conf t                                                                                                    \nEnter configuration commands, one per line.  End with CNTL/Z.                                                    \nRout+-----------------+---------[Comm Parameters]----------+----------------+                                    \nRout| A -    Serial De|                                    |                |                                    \nC\ufffd  | B - Lockfile Loc|     Current:  9600 8N1             |                |                                    \n    | C -   Callin Pro| Speed            Parity      Data  |                |                                    \n    | D -  Callout Pro| A: <next>        L: None     S: 5  |                |                                    \n    | E -    Bps/Par/B| B: <prev>        M: Even     T: 6  |                |                                    \n    | F - Hardware Flo| C:   9600        N: Odd      U: 7  |                |                                    \n    | G - Software Flo| D:  38400        O: Mark     V: 8  |                |                                    \n    | H -     RS485 En| E: 115200        P: Space          |                |                                    \n    | I -   RS485 Rts |                                    |                |                                    \n    | J -  RS485 Rts A| Stopbits                           |                |                                    \n    | K -  RS485 Rx Du| W: 1             Q: 8-N-1          |                |                                    \n    | L -  RS485 Termi| X: 2             R: 7-E-1          |                |                                    \n    | M - RS485 Delay |                                    |                |                                    \n    | N - RS485 Delay |                                    |                |                                    \n    |                 | Choice, or <Enter> to exit?        |                |                                    \n    |    Change which +------------------------------------+                |                                    \n    +-----------------------------------------------------------------------+\n

Press Enter The connection is back. Initiate an xMODEM transfer. Confirm the destination filename. The switch will then prompt you to start the transfer from your terminal emulator.

    Switch(config-line)#end\n    Switch#copy xmodem: flash:c2960-lanbasek9-mz.150-2.SE11.bin\n    Destination filename [c2960-lanbasek9-mz.150-2.SE11.bin]?     <----- press ENTER\n    Begin the Xmodem or Xmodem-1K transfer now...\n    CCC\n

For minicom, press Ctrl+A and then Z. Type S (Send files) and select \"xmodem\". Navigate your way to the new IOS file (here /srv/tftp). Press Space to tag the file and enter \"Okay\" to send.

Grab a coffee. This can take a long time depending on the size of the IOS image. Wait for the transfer to complete and then press Enter to quit.

There is nu such thing as \"boot system flash:/...\" like with a Cisco 2960 switch. Just reload the router and it will find the IOS on flash.

\n

You have to adjust the settings in your terminal emulation program again, to match the default baud of 9600. Verify that the correct IOS image is loaded. Enjoy your new IOS!

Switch#show version\nCisco IOS Software, C2960 Software (C2960-LANBASEK9-M), Version 15.0(2)SE11, RELEASE SOFTWARE (fc3)\n...\n...\nSystem returned to ROM by power-on\nSystem image file is \"flash:/c2960-lanbasek9-mz.150-2.SE11.bin\"\n...\n...\n\nSwitch Ports Model              SW Version            SW Image                 \n------ ----- -----              ----------            ----------               \n*    1 26    WS-C2960+24TC-L    15.0(2)SE11           C2960-LANBASEK9-M        \n\nConfiguration register is 0xF\n\nSwitch#\n
"},{"location":"howtos/reinstall-ios-cisco1941/#from-rommon","title":"From ROMMON","text":"

Unlike with a Cisco 2960 switch, to my knowledge, it is not possible to use xmodem from the router in ROMMON-mode.

"},{"location":"howtos/reinstall-ios-cisco1941/#ios-transfer-over-network-protocol","title":"IOS transfer over network protocol","text":"

Unlike with a Cisco 2960 switch, transfer using a network protocol is possible from IOS and from ROMMON-mode.

"},{"location":"howtos/reinstall-ios-cisco1941/#from-ios_1","title":"From IOS","text":""},{"location":"howtos/reinstall-ios-cisco1941/#tftp","title":"tFTP","text":"Step1Step2Step3Step4Step5Step6Step7Step8

Verify that there is enough space left on the Flash filesystem to add an (additional) IOS. In this example, I will simulate a missing IOS by deleting it.

Router#dir flash:\nDirectory of flash0:/\n\n    1  -rw-    85053068  Jun 21 2024 06:40:02 +00:00  c1900-universalk9-mz.SPA.157-3.M8.bin\n    2  -rw-          35  Jul 10 2024 11:36:02 +00:00  pnp-tech-time\n    3  -rw-        3883  Jul 10 2024 11:36:06 +00:00  pnp-tech-discovery-summary\n\n261189632 bytes total (176128000 bytes free)\n\nRouter#delete flash:/c1900-universalk9-mz.SPA.157-3.M8.bin\nDelete filename [c1900-universalk9-mz.SPA.157-3.M8.bin]? \nDelete flash0:/c1900-universalk9-mz.SPA.157-3.M8.bin? [confirm]\nRouter#\n

You need a tFTP service on the LAB-PC. Copy a valid Cisco IOS image file to the tFTP directory where files are served from. Adjust permissions.

<TODO COPY AND PERMISSIONS>\nguru@lab:~$ ls -lh /srv/tftp/\ntotal 852M\n...\n-rw-r--r-- 1 guru guru  82M sep  2  2021 c1900-universalk9-mz.SPA.157-3.M8.bin\n...\nguru@lab:~$ \n
  • Show the name of the network interface on the LAB-PC (in this case: enp0s25)
  • Configure an temporary IP address and subnet mask.
  • Verify.
guru@lab:~$ sudo ip link show\n[sudo] password for guru:     \n1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000\n    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00\n2: enp0s25: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000\n    link/ether 90:1b:0e:18:b9:8e brd ff:ff:ff:ff:ff:ff\n\nguru@lab:~$ sudo ip address add 192.168.1.101/24 dev enp0s25\n\nguru@lab:~$ ip a\n...\n2: enp0s25: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000\n    link/ether 90:1b:0e:18:b9:8e brd ff:ff:ff:ff:ff:ff\n    inet 192.168.1.101/24 scope global enp0s25\n    valid_lft forever preferred_lft forever\n

Configure an IP address and subnet mask on the router. Verify.

Router#conf t\nRouter(config)#int g0/0\nRouter(config-if)#ip add 192.168.1.84 255.255.255.0\nRouter(config-if)#no shut\nRouter(config-if)#end\nRouter#\n\nRouter#show ip int br\nInterface                  IP-Address      OK? Method Status                Protocol\n...   \nGigabitEthernet0/0         192.168.1.84    YES manual up                    up      \n...\nRouter#\n

Verify connectivity between the LAB-PC and the router.

Router#ping 192.168.1.101\nType escape sequence to abort.\nSending 5, 100-byte ICMP Echos to 192.168.1.101, timeout is 2 seconds:\n!!!!!\nSuccess rate is 100 percent (5/5), round-trip min/avg/max = 1/1/4 ms\nRouter#\n

Copy the IOS image from the TFTP server to the router's flash memory.

Router#copy tftp://192.168.1.101/c1900-universalk9-mz.SPA.157-3.M8.bin flash:\nDestination filename [c1900-universalk9-mz.SPA.157-3.M8.bin]? \nAccessing tftp://192.168.1.101/c1900-universalk9-mz.SPA.157-3.M8.bin...\nLoading c1900-universalk9-mz.SPA.157-3.M8.bin from 192.168.1.101 (via GigabitEthernet0/0): !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\n[OK - 85053068 bytes]\n\n85053068 bytes copied in 125.316 secs (678709 bytes/sec)\n\nRouter#\n

Verify and reboot.

Router#dir flash:\nDirectory of flash0:/\n\n    1  -rw-    85053068  Jul 10 2024 11:51:18 +00:00  c1900-universalk9-mz.SPA.157-3.M8.bin\n    2  -rw-          35  Jul 10 2024 11:36:02 +00:00  pnp-tech-time\n    3  -rw-       51320  Jul 10 2024 11:36:10 +00:00  pnp-tech-discovery-summary\n\n261189632 bytes total (176078848 bytes free)\nRouter#\n\nRouter#reload\n\nProceed with reload? [confirm]\n\n*Jul 10 11:53:13.439: %SYS-5-RELOAD: Reload requested by console. Reload Reason: Reload Command.\n

Verify that the correct IOS image is loaded. Enjoy your new IOS!

Router#show version\nCisco IOS Software, C1900 Software (C1900-UNIVERSALK9-M), Version 15.7(3)M8, RELEASE SOFTWARE (fc1)\n...\n...\nSystem image file is \"flash0:c1900-universalk9-mz.SPA.157-3.M8.bin\"\n...\n
"},{"location":"howtos/reinstall-ios-cisco1941/#ssh-sftp","title":"SSH (sFTP)","text":"

todo

"},{"location":"howtos/reinstall-ios-cisco1941/#http","title":"HTTP","text":"

todo

"},{"location":"howtos/reinstall-ios-cisco1941/#from-rommon_1","title":"From ROMMON","text":"

First, start the router in ROMMON-mode.

"},{"location":"howtos/reinstall-ios-cisco1941/#tftp_1","title":"tFTP","text":"Step1Step2Step3Step4

Set the necessary parameters to make tFTP possible.

rommon 1 > IP_ADDRESS=192.168.1.84\nrommon 2 > IP_SUBNET_MASK=255.255.255.0\nrommon 3 > DEFAULT_GATEWAY=192.168.1.254\nrommon 4 > TFTP_SERVER=192.168.1.101\nrommon 5 > TFTP_FILE=c1900-universalk9-mz.SPA.157-3.M8.bin\nrommon 6 >\n

Start the tFTP transfer.

rommon 6 > tftpdnld\n\n        IP_ADDRESS: 192.168.1.84\n    IP_SUBNET_MASK: 255.255.255.0\n    DEFAULT_GATEWAY: 192.168.1.254\n        TFTP_SERVER: 192.168.1.101\n        TFTP_FILE: c1900-universalk9-mz.SPA.157-3.M8.bin\n        TFTP_MACADDR: d8:b1:90:63:85:60\n    TFTP_DESTINATION: flash0:\n            GE_PORT: Ge0/0\n    TFTP_MEDIA_TYPE: Copper\n        TFTP_VERBOSE: Progress\n    TFTP_RETRY_COUNT: 20\n        TFTP_TIMEOUT: 7200\n    TFTP_CHECKSUM: Yes\n    GE_SPEED_MODE: Auto Detect\n\nInvoke this command for disaster recovery only.\nWARNING: all existing data in all partitions on flash will be lost!\nDo you wish to continue? y/n:  [n]:  y\n\nReceiving c1900-universalk9-mz.SPA.157-3.M8.bin from 192.168.1.101 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\nFile reception completed.\nIOS Image Load Test \n___________________ \nDigitally Signed Release Software \n\nValidating checksum.\nCopying file c1900-universalk9-mz.SPA.157-3.M8.bin to flash0:.\nprogram load complete, entry point: 0x80803000, size: 0x1b340\n\nFormat: All system sectors written. OK...\n\nFormat: Total sectors in formatted partition: 510944\nFormat: Total bytes in formatted partition: %llu\nFormat: Operation completed successfully.\nprogram load complete, entry point: 0x80803000, size: 0x1b340\n\nrommon 7 > \n

Verify flash.

rommon 7 > dir flash:\nprogram load complete, entry point: 0x80803000, size: 0x1b340\nDirectory of flash:\n\n2      85053068  -rw-     c1900-universalk9-mz.SPA.157-3.M8.bin\nrommon 8 > \n

Reload the router.

rommon 8 > reset\n\nSystem Bootstrap, Version 15.0(1r)M16, RELEASE SOFTWARE (fc1)\n...\n
"},{"location":"howtos/reinstall-ios-cisco2960/","title":"(Re)install an IOS operating system on a Cisco 2960 switch","text":""},{"location":"howtos/reinstall-ios-cisco2960/#prereqs","title":"Prereqs","text":"
  • a PC (BIOS/UEFI) running Linux Mint 21
    • minicom terminal emulation software
    • (a tFTP service)
  • a console cable
  • (a network cable)
  • a Cisco 2960 24TT-L or 24TC-L Plus switch
"},{"location":"howtos/reinstall-ios-cisco2960/#situation","title":"Situation","text":"

At the time of writing, the latest IOS for...

  • a \"Cisco 2960 24TT-L switch\" is \"15.0(2)SE11\"
  • a \"Cisco 24TC-L Plus switch\" is \"15.2(7)E8\"

Version \"15.2(7)E8\" does NOT run on a \"Cisco 2960 24TT-L switch\". Version 15.0(2)SE11 runs on both switches. I'll use that version for the examples.

"},{"location":"howtos/reinstall-ios-cisco2960/#ios-transfer-over-serial-xmodem","title":"IOS transfer over serial (xmodem)","text":""},{"location":"howtos/reinstall-ios-cisco2960/#from-ios","title":"From IOS","text":"Step1Step2Step3Step4Step5Step6Step7Step8

Verify that there is enough space left on the Flash filesystem to add an (additional) IOS. In this example, I will simulate a missing IOS by deleting it. Do not reload!

Switch#dir flash:\nDirectory of flash:/\n\n    3  drwx         128  May 29 2024 10:34:46 +00:00  pnp-tech\n    4  drwx           0   Mar 1 1993 00:01:03 +00:00  pnp-info\n    9  -rwx    11832946  May 29 2024 11:35:59 +00:00  c2960-lanbasek9-mz.150-2.SE11.bin\n10  -rwx        1048  May 29 2024 11:37:31 +00:00  multiple-fs\n\n65544192 bytes total (53509632 bytes free)\nSwitch#\nSwitch#delete flash:/c2960-lanbasek9-mz.150-2.SE11.bin\nDelete filename [c2960-lanbasek9-mz.150-2.SE11.bin]? \nDelete flash:/c2960-lanbasek9-mz.150-2.SE11.bin? [confirm]\nSwitch#\n

Set the baud rate to 115200 to speed up the transfer. You will lose the connection after the last command. Some gibberish characters can emerge.

Switch#configure terminal\nEnter configuration commands, one per line.  End with CNTL/Z.\nSwitch(config)#line console 0\nSwitch(config-line)#speed 115200\nC\ufffd\n

Adjust the settings in your terminal emulation program to match the new baud rate. For minicom, press Ctrl+A and then Z. Type O and choose \"Serial port setup\". Change setting E and Enter twice. Exit.

Switch#conf t                                                                                                    \nEnter configuration commands, one per line.  End with CNTL/Z.                                                    \nSwit+-----------------+---------[Comm Parameters]----------+----------------+                                    \nSwit| A -    Serial De|                                    |                |                                    \nC\ufffd  | B - Lockfile Loc|     Current:  9600 8N1             |                |                                    \n    | C -   Callin Pro| Speed            Parity      Data  |                |                                    \n    | D -  Callout Pro| A: <next>        L: None     S: 5  |                |                                    \n    | E -    Bps/Par/B| B: <prev>        M: Even     T: 6  |                |                                    \n    | F - Hardware Flo| C:   9600        N: Odd      U: 7  |                |                                    \n    | G - Software Flo| D:  38400        O: Mark     V: 8  |                |                                    \n    | H -     RS485 En| E: 115200        P: Space          |                |                                    \n    | I -   RS485 Rts |                                    |                |                                    \n    | J -  RS485 Rts A| Stopbits                           |                |                                    \n    | K -  RS485 Rx Du| W: 1             Q: 8-N-1          |                |                                    \n    | L -  RS485 Termi| X: 2             R: 7-E-1          |                |                                    \n    | M - RS485 Delay |                                    |                |                                    \n    | N - RS485 Delay |                                    |                |                                    \n    |                 | Choice, or <Enter> to exit?        |                |                                    \n    |    Change which +------------------------------------+                |                                    \n    +-----------------------------------------------------------------------+\n

Press Enter The connection is back. Initiate an xMODEM transfer. Confirm the destination filename. The switch will then prompt you to start the transfer from your terminal emulator.

    Switch(config-line)#end\n    Switch#copy xmodem: flash:c2960-lanbasek9-mz.150-2.SE11.bin\n    Destination filename [c2960-lanbasek9-mz.150-2.SE11.bin]?     <----- press ENTER\n    Begin the Xmodem or Xmodem-1K transfer now...\n    CCC\n

For minicom, press Ctrl+A and then Z. Type S (Send files) and select \"xmodem\". Navigate your way to the new IOS file (here /srv/tftp). Press Space to tag the file and enter \"Okay\" to send.

Grab a coffee. This can take a long time depending on the size of the IOS image. Wait for the transfer to complete and then press Enter to quit.

Make the switch boot from the newly transferred IOS image, verify and reboot.

Switch(config)#boot system flash:/c2960-lanbasek9-mz.150-2.SE11.bin\nSwitch(config)#end\nSwitch#show boot\nBOOT path-list      : flash:/c2960-lanbasek9-mz.150-2.SE11.bin\n...\n...\n\nSwitch#reload\n\nSystem configuration has been modified. Save? [yes/no]: no  <----- if asked\nProceed with reload? [confirm]\n

You have to adjust the settings in your terminal emulation program again, to match the default baud of 9600. Verify that the correct IOS image is loaded. Enjoy your new IOS!

Switch#show version\nCisco IOS Software, C2960 Software (C2960-LANBASEK9-M), Version 15.0(2)SE11, RELEASE SOFTWARE (fc3)\n...\n...\nSystem returned to ROM by power-on\nSystem image file is \"flash:/c2960-lanbasek9-mz.150-2.SE11.bin\"\n...\n...\n\nSwitch Ports Model              SW Version            SW Image                 \n------ ----- -----              ----------            ----------               \n*    1 26    WS-C2960+24TC-L    15.0(2)SE11           C2960-LANBASEK9-M        \n\nConfiguration register is 0xF\n\nSwitch#\n
"},{"location":"howtos/reinstall-ios-cisco2960/#from-rommon","title":"From ROMMON","text":"

First, start the switch in ROMMON-mode.

Step1Step2Step3Step4Step5Step6Step7Step8Step9Step10

Verify that there is enough space left on the Flash filesystem to add an (additional) IOS. In this example, I will simulate a missing IOS by deleting it.

switch: dir flash:\nDirectory of flash:/\n\n    2  -rwx  11832960  <date>               c2960-lanbasek9-mz.150-2.SE11.bin\n    3  drwx  128       <date>               pnp-tech\n    4  drwx  0         <date>               pnp-info\n    10  -rwx  1048      <date>               multiple-fs\n\n53509632 bytes available (12034560 bytes used)\n\nswitch: delete flash:c2960-lanbasek9-mz.150-2.SE11.bin\nAre you sure you want to delete \"flash:c2960-lanbasek9-mz.150-2.SE11.bin\" (y/n)?y\nFile \"flash:c2960-lanbasek9-mz.150-2.SE11.bin\" deleted\n\nswitch: \n

Set the baud rate to 115200 to speed up the transfer. You will lose the connection after the last command. Some gibberish characters can emerge.

switch: set BAUD 115200\n                   \ufffd \n

Adjust the settings in your terminal emulation program to match the new baud rate. For minicom, press Ctrl+A and then Z. Type O and choose \"Serial port setup\". Change setting E to \"115200\" and Enter twice. Exit the configuration menu.

swit+-----------------+---------[Comm Parameters]----------+----------------+                                    \nswit| A -    Serial De|                                    |                |                                    \nC\ufffd  | B - Lockfile Loc|     Current:  9600 8N1             |                |                                    \n    | C -   Callin Pro| Speed            Parity      Data  |                |                                    \n    | D -  Callout Pro| A: <next>        L: None     S: 5  |                |                                    \n    | E -    Bps/Par/B| B: <prev>        M: Even     T: 6  |                |                                    \n    | F - Hardware Flo| C:   9600        N: Odd      U: 7  |                |                                    \n    | G - Software Flo| D:  38400        O: Mark     V: 8  |                |                                    \n    | H -     RS485 En| E: 115200        P: Space          |                |                                    \n    | I -   RS485 Rts |                                    |                |                                    \n    | J -  RS485 Rts A| Stopbits                           |                |                                    \n    | K -  RS485 Rx Du| W: 1             Q: 8-N-1          |                |                                    \n    | L -  RS485 Termi| X: 2             R: 7-E-1          |                |                                    \n    | M - RS485 Delay |                                    |                |                                    \n    | N - RS485 Delay |                                    |                |                                    \n    |                 | Choice, or <Enter> to exit?        |                |                                    \n    |    Change which +------------------------------------+                |                                    \n    +-----------------------------------------------------------------------+ \n

Press Enter The connection is back. Initiate an xMODEM transfer. The switch will then prompt you to start the transfer from your terminal emulator.

switch: copy xmodem: flash:c2960-lanbasek9-mz.150-2.SE11.bin                                                            \nBegin the Xmodem or Xmodem-1K transfer now...                                                                         \nCCC\n

For minicom, press Ctrl+A and then Z. Type S (Send files) and select \"xmodem\". Navigate your way to the new IOS file (here /home/guru/Downloads). Press Space to tag the file and press \"Okay\" to send.

Grab a coffee. This can take a long time depending on the size of the IOS image. Wait for the transfer to complete and then press Enter to quit.

Update the BOOT parameter to match the new IOS.

switch: copy xmodem: flash:c2960-lanbasek9-mz.150-2.SE11.bin                                                            \nBegin the Xmodem or Xmodem-1K transfer now...                                                                         \nC...........................................................................................................................................................\nFile \"xmodem:\" successfully copied to \"flash:c2960-lanbasek9-mz.150-2.SE11.bin\"                                         \n\nswitch: set BOOT flash:c2960-lanbasek9-mz.150-2.SE11.bin                                                                \n\nswitch: \n

Set the BAUD rate back to the default (9600 bps). You have to adjust the settings in your terminal emulation program again. Press Enter The connection is back.

switch: unset BAUD                                                                                                                                            \n                }                                                                                                                                           \n\nswitch:\n

Finally, boot the switch manually.

switch: boot                                                                                                                                                  \nLoading \"flash:c2960-lanbasek9-mz.150-2.SE11.bin\"...@@@@@@@@@@@@@@@@@\n

Verify that the correct IOS image is loaded. Enjoy your new IOS!

Switch#show version\nCisco IOS Software, C2960 Software (C2960-LANBASEK9-M), Version 15.0(2)SE11, RELEASE SOFTWARE (fc3)\n...\n...\nSystem returned to ROM by power-on\nSystem image file is \"flash:/c2960-lanbasek9-mz.150-2.SE11.bin\"\n...\n...\n\nSwitch Ports Model              SW Version            SW Image                 \n------ ----- -----              ----------            ----------               \n*    1 26    WS-C2960+24TC-L    15.0(2)SE11           C2960-LANBASEK9-M        \n\nConfiguration register is 0xF\n\nSwitch#\n
"},{"location":"howtos/reinstall-ios-cisco2960/#ios-transfer-over-network-protocol","title":"IOS transfer over network protocol","text":"

Transfer using a network protocol is only possible from IOS, not from ROMMON-mode.

"},{"location":"howtos/reinstall-ios-cisco2960/#tftp","title":"tFTP","text":"Step1Step2Step3Step4Step5Step6Step7Step8Step9

Verify that there is enough space left on the Flash filesystem to add an (additional) IOS. In this example, I will simulate a missing IOS by deleting it.

Switch#dir flash:\nDirectory of flash:/\n\n    2  -rwx    11832946   Mar 1 1993 00:12:06 +00:00  c2960-lanbasek9-mz.150-2.SE11.bin\n    3  -rwx        1048   Mar 1 1993 00:01:03 +00:00  multiple-fs\n\n32514048 bytes total (20678144 bytes free)\n\nSwitch# delete flash:c2960-lanbasek9-mz.150-2.SE11.bin\nAre you sure you want to delete \"flash:c2960-lanbasek9-mz.150-2.SE11.bin\" (y/n)?y\nFile \"flash:c2960-lanbasek9-mz.150-2.SE11.bin\" deleted\n\nSwitch# \n

You need a tFTP service on the LAB-PC. Copy a valid Cisco IOS image file to the tFTP directory where files are served from. Adjust permissions.

<TODO COPY AND PERMISSIONS>\nguru@lab:~$ ls -lh /srv/tftp/\ntotal 852M\n...\n-rw-r--r-- 1 guru guru  12M sep  2  2021 c2960-lanbasek9-mz.150-2.SE11.bin\n...\nguru@lab:~$ \n
  • Show the name of the network interface on the LAB-PC (in this case: enp0s25)
  • Configure an temporary IP address and subnet mask.
  • Verify.
guru@lab:~$ sudo ip link show\n[sudo] password for guru:     \n1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000\n    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00\n2: enp0s25: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000\n    link/ether 90:1b:0e:18:b9:8e brd ff:ff:ff:ff:ff:ff\n\nguru@lab:~$ sudo ip address add 192.168.1.101/24 dev enp0s25\n\nguru@lab:~$ ip a\n...\n2: enp0s25: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000\n    link/ether 90:1b:0e:18:b9:8e brd ff:ff:ff:ff:ff:ff\n    inet 192.168.1.101/24 scope global enp0s25\n    valid_lft forever preferred_lft forever\n

Configure an IP address and subnet mask on the switch. Verify.

Switch#conf t\nEnter configuration commands, one per line.  End with CNTL/Z.\nSwitch(config)#int vlan 1\nSwitch(config-if)#ip add 192.168.1.84 255.255.255.0\nSwitch(config-if)#no shut\nSwitch(config-if)#do show ip int br\nInterface              IP-Address      OK? Method Status                Protocol\nVlan1                  192.168.1.84    YES manual up                    up      \n...\n

Optional (in this case): ensure that the TFTP session is sourced from the correct interface (here: VLAN 1).

Switch(config-if)#exit\nSwitch(config)#ip tftp source-interface vlan 1\nSwitch(config)#end\nSwitch#\n

Verify connectivity between the LAB-PC and the switch.

Switch#ping 192.168.1.101\nType escape sequence to abort.\nSending 5, 100-byte ICMP Echos to 192.168.1.101, timeout is 2 seconds:\n!!!!!\nSuccess rate is 100 percent (5/5), round-trip min/avg/max = 1/205/1015 ms\nSwitch#\n

Copy the IOS image from the TFTP server to the switch's flash memory.

Switch#copy tftp://192.168.1.101/c2960-lanbasek9-mz.150-2.SE11.bin flash:\nDestination filename [c2960-lanbasek9-mz.150-2.SE11.bin]? \nAccessing tftp://192.168.1.101/c2960-lanbasek9-mz.150-2.SE11.bin...\nLoading c2960-lanbasek9-mz.150-2.SE11.bin from 192.168.1.101 (via Vlan1): !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\n[OK - 11832946 bytes]\n\n11832946 bytes copied in 144.938 secs (81641 bytes/sec)\nSwitch#\n

Make the switch boot from the newly transferred IOS image, verify and reboot.

Switch#configure terminal\nSwitch(config)#boot system flash:/c2960-lanbasek9-mz.150-2.SE11.bin\nSwitch(config)#end\nSwitch#\n\nSwitch#show boot\nBOOT path-list      : flash:/c2960-lanbasek9-mz.150-2.SE11.bin\n...\n...\nSwitch#reload\n\nSystem configuration has been modified. Save? [yes/no]: no\nProceed with reload? [confirm]\n...\n

Verify that the correct IOS image is loaded. Enjoy your new IOS!

Switch#show version\nCisco IOS Software, C2960 Software (C2960-LANBASEK9-M), Version 15.0(2)SE11, RELEASE SOFTWARE (fc3)\n...\n...\nSystem returned to ROM by power-on\nSystem image file is \"flash:/c2960-lanbasek9-mz.150-2.SE11.bin\"\n...\n...\n\nSwitch Ports Model              SW Version            SW Image                 \n------ ----- -----              ----------            ----------               \n*    1 26    WS-C2960+24TC-L    15.0(2)SE11           C2960-LANBASEK9-M        \n\nConfiguration register is 0xF\n\nSwitch#\n
"},{"location":"howtos/reinstall-ios-cisco2960/#ssh-sftp","title":"SSH (sFTP)","text":"

todo

"},{"location":"howtos/reinstall-ios-cisco2960/#http","title":"HTTP","text":"

todo

"},{"location":"howtos/template/","title":"Title","text":""},{"location":"howtos/template/#use-tabs-for-a-task-that-has-more-than-1-step-with-a-picture","title":"Use tabs for a task that has more than 1 step with a picture.","text":"

(Optional) task explanation.

Step1StepX

(Optional) step explanation.

(Optional) step explanation.

"},{"location":"howtos/template/#no-need-for-tabs-for-a-task-with-only-1-step-with-a-picture","title":"No need for tabs for a task with only 1 step with a picture.","text":"

(Optional) task explanation.

"},{"location":"howtos/template/#a-shell-command-shows-the-syntax-output-in-tabs","title":"A shell command shows the syntax + output in tabs.","text":"

(Optional) task explanation.

guru@hp:~$_output

(Optional) step explanation.

sudo <execute some command>\n

(Optional) step explanation.

guru@hp:~$ sudo <execute some command>\n[sudo] password for guru:     \n...\n...\n
"},{"location":"howtos/template/#changing-contents-of-a-file-shows-the-command-and-the-contents-of-that-file-in-tabs","title":"Changing contents of a file shows the command and the contents of that file in tabs.","text":"

(Optional) task explanation.

guru@hp:~$_/path/to/that/file

(Optional) step explanation.

sudo <edit some file>\n

(Optional) step explanation.

...\n...\n...\n...\n
"},{"location":"howtos/todo/","title":"Todo","text":"

In progress...

"},{"location":"howtos/use-minicom-linux-mint/","title":"Use minicom on Linux Mint 21","text":""},{"location":"howtos/use-minicom-linux-mint/#prereqs","title":"Prereqs","text":"
  • a PC (BIOS/UEFI) running Linux Mint 21
  • internet connection
  • a serial/console cable
  • a Cisco device (switch, router)
"},{"location":"howtos/use-minicom-linux-mint/#setup","title":"Setup","text":""},{"location":"howtos/use-minicom-linux-mint/#install-minicom","title":"Install minicom","text":"

Refresh the cache and install the package.

guru@lab:~$_output
sudo apt update; sudo apt install minicom -y\n
guru@lab:~$ sudo apt update; sudo apt install minicom -y\n[sudo] password for guru:     \nHit:1 http://security.ubuntu.com/ubuntu jammy-security InRelease\nHit:2 http://archive.ubuntu.com/ubuntu jammy InRelease\n...\n...\nProcessing triggers for man-db (2.10.2-1) ...\nProcessing triggers for mailcap (3.70+nmu1ubuntu1) ...\nguru@lab:~$ \n
"},{"location":"howtos/use-minicom-linux-mint/#identify-serial-port","title":"Identify serial port","text":"

Your Cisco device is connected to the Linux Mint LAB-PC using a serial cable. On that PC, run the following command to list the available serial ports. Note down the name of the serial port (e.g. /dev/ttyUSB0) corresponding to your device.

guru@lab:~$_output
dmesg | grep tty\n
guru@lab:~$ dmesg | grep tty\n[    0.206150] printk: console [tty0] enabled\n[18977.539042] usb 1-4: pl2303 converter now attached to ttyUSB0\nguru@lab:~$ \n
"},{"location":"howtos/use-minicom-linux-mint/#configure-and-use-minicom","title":"Configure and use minicom","text":"

In the terminal, run the following command to start the \"Minicom configuration\" and then \"Minicom\".

guru@lab:~$_output
sudo minicom -s\nsudo minicom\n

In the Minicom configuration menu, use the arrow keys to navigate and configure the settings as follows:

  • Select \"Serial port setup\"
  • Set the serial device to the one you noted down earlier (e.g. \"/dev/ttyUSB0\")
  • Set the baud rate according to your device's specifications (e.g. \"9600\")
  • Leave other settings at their default values, unless you have specific requirements
  • Press \"Save setup as dfl\" to save the configuration.
  • Press \"Exit from Minicom\".

These settings will be saved in file /etc/minicom/minirc.dfl for all future runs.

"},{"location":"howtos/use-minicom-linux-mint/#alternative-use","title":"Alternative use","text":"

Instead of doing the setup first, you can give the correct parameters on the commandline instead. Minicom will open and display the terminal window.

guru@lab:~$_output
sudo minicom -b 9600 -D /dev/ttyUSB0\n

Press Enter to access the switch/router prompt. To exit Minicom, press the keyboard shortcut Ctrl A followed by the letter X

Welcome to minicom 2.8\n\nOPTIONS: I18n \nPort /dev/ttyUSB0, 14:06:27\n\nPress CTRL-A Z for help on special keys\n\n<press ENTER>\n\nSwitch>\n
"},{"location":"howtos/windows11-bootable-usb-flash-drive/","title":"Create a Windows 11 bootable USB flash drive","text":""},{"location":"howtos/windows11-bootable-usb-flash-drive/#prereqs","title":"Prereqs","text":"
  • USB flash drive that can hold the Windows 11 installation files
  • a PC (BIOS/UEFI) running Windows 11 or Linux Mint 21
  • internet connection
"},{"location":"howtos/windows11-bootable-usb-flash-drive/#download-iso","title":"Download ISO","text":"Step1Step2Step3Step4

Use your favorite search engine to search for the Windows 11 iso and choose the official Microsoft website. (VDAB users: download from your Google Drive!)

Select \"Windows 11 (multi-edition ISO for x64 devices)\" from the drop down menu and click \"Download\".

Select \"English (United States)\" as the product language and click \"Confirm\".

Click \"64-bit Download\". The ISO file will be saved to your local disk.

"},{"location":"howtos/windows11-bootable-usb-flash-drive/#on-windows-11","title":"On Windows 11","text":""},{"location":"howtos/windows11-bootable-usb-flash-drive/#with-rufus","title":"With Rufus","text":""},{"location":"howtos/windows11-bootable-usb-flash-drive/#download-and-install-rufus","title":"Download and install Rufus","text":"Step1Step2Step3Step4Step5

Use your favorite search engine to search for Rufus and choose the official website.

Click the current \"standard\" installer version. The file will be saved to your local disk.

Execute the installer and allow for changes.

Allow Rufus to check for updates.

Done. Installation finished.

"},{"location":"howtos/windows11-bootable-usb-flash-drive/#for-bios-or-uefi-csm","title":"For BIOS (or UEFI-CSM)","text":"Step1Step2Step3Step4Step5
  1. Insert the USB flash drive
  2. Navigate to and select the Windows 11 ISO file
  3. Choose \"Windows standard installation\" as image option
  4. Choose \"MBR\" as partition scheme
  5. Select \"BIOS (or UEFI-CSM)\" as target system
  6. Select \"NTFS\" as file system
  7. Click \"Start\"

Clear all check marks. We want the Windows installation the same as the official Microsoft installation.

Click \"OK\" to confirm the USB\u2019s deletion and the bootable drive\u2019s creation.

Time to grab a coffee. Wait until the status is \"Ready\".

Close Rufus and eject the USB media.

"},{"location":"howtos/windows11-bootable-usb-flash-drive/#for-uefi-non-csm","title":"For UEFI (non-CSM)","text":"Step1Step2Step3Step4Step5
  1. Insert the USB flash drive
  2. Navigate to and select the Windows 11 ISO file
  3. Choose \"Windows standard installation\" as image option
  4. Choose \"GPT\" as partition scheme
  5. Select \"UEFI (non-CSM)\" as target system
  6. Select \"NTFS\" as file system
  7. Click \"Start\"

Clear all check marks. We want the Windows installation the same as the official Microsoft installation.

Click \"OK\" to confirm the USB\u2019s deletion and the bootable drive\u2019s creation.

Time to grab a coffee. Wait until the status is \"Ready\".

Close Rufus and eject the USB media.

"},{"location":"howtos/windows11-bootable-usb-flash-drive/#with-etcher","title":"With Etcher","text":"

Todo...

"},{"location":"howtos/windows11-bootable-usb-flash-drive/#on-linux-mint-21","title":"On Linux Mint 21","text":"

Todo...

"},{"location":"references/","title":"References landing page","text":"

In progress...

"},{"location":"tutorials/","title":"Tutorials overview","text":""},{"location":"tutorials/#what","title":"What?","text":"

Tutorials are lessons that take you, the reader, by the hand through a series of steps to complete a project of some kind. They are learning-oriented.

"},{"location":"tutorials/#say-what","title":"Say what?","text":"

They are a matter of craft. Skill. It\u2019s knowledge, but it\u2019s practical knowledge, not theoretical. Complex or advanced, basic or well known.

"},{"location":"tutorials/#what-they-do","title":"What they do","text":"

They introduce. They educate. They learn.

"},{"location":"tutorials/#answers-the-question","title":"Answers the question","text":"

\"Can you teach me to...?\"

"},{"location":"tutorials/#oriented-to","title":"Oriented to","text":"

Learning. Let's begin. Let's dive in. With teacher guidance. They serve the need of the user @study. They provide an enjoyable, successful learning experience.

"},{"location":"tutorials/#purpose","title":"Purpose","text":"
  • to allow you, the newcomer, to get started
  • to help you, a beginner, achieve basic competence
  • to show you, the learner, that you can be successful
  • to turn you, new learner, into a user
"},{"location":"tutorials/#form","title":"Form","text":"

A lesson, learning how rather than learning that. By providing exercises that are:

  • meaningful
  • successful
  • logical
  • usefully complete
"},{"location":"tutorials/#analogy","title":"Analogy","text":"

Teaching someone how to cook. Enjoy. Gain confidence. Repeat.

"},{"location":"tutorials/#my-responsability","title":"My responsability","text":"

It\u2019s not easy being a teacher. I'm responsable for...

  • what you are to learn
  • what you will do in order to learn it
  • your success
"},{"location":"tutorials/#your-responsability","title":"Your responsability","text":"
  • there is no responsibility on you to learn, understand or remember
  • only follow the instructions as closely as you can
  • and be attentive
"},{"location":"tutorials/#approach","title":"Approach","text":"
  • I'll try not to teach
  • I'll get you started
  • I'll follow a carefully-managed path, starting at a given point and working to a conclusion
  • I'll familiarize
  • in a contrived setting
  • I'll eliminate the unexpected
  • and be explicit about basic things
  • I'll teach general skills and principles
  • by providing the big picture and setting expectations
  • and by ensuring results
  • I'll make the tutorials repeatable and safe
  • describe concrete steps, not abstract steps
  • offer minimum explanation
  • and ignore options and alternatives
"},{"location":"tutorials/#the-problem","title":"The problem.","text":"
  • tutorials are difficult to do well
  • and time consuming
  • with lots of revisions
  • and I, the teacher, am not present
"},{"location":"tutorials/ansible/","title":"Overview","text":"

Coming soon...

"},{"location":"tutorials/git/","title":"Overview","text":"

Coming soon...

"},{"location":"tutorials/puppet/","title":"Overview","text":"

Coming soon...

"},{"location":"tutorials/windows-server-2022-virtualbox/","title":"Install Windows Server 2022 in VirtualBox 6.1.50","text":"

There are several reasons why someone might want to install Windows Server 2022 in a virtual machine (VM). Here are a few possible scenarios:

  • Testing and Evaluation: Installing Windows Server 2022 in a virtual machine allows you to test the new operating system without affecting your primary computer or existing software setup. It provides a safe environment to evaluate the new features, compatibility with your existing software, and overall performance.

  • Development and Software Testing: If you're a developer or software tester, having a virtual machine with Windows Server 2022 lets you ensure that your software works seamlessly on the latest version of Windows. It allows you to perform compatibility testing, identify and resolve any issues or bugs specific to Windows Server 2022.

  • Learning and Familiarization: Virtual machines provide an excellent platform for learning and familiarizing yourself with a new operating system. By installing Windows Server 2022 in a virtual machine, you can explore its features, interface, and functionalities, without the risk of making irreversible changes to your main computer.

  • Isolated Environment: Virtual machines offer isolation from the host operating system. If you need to run potentially risky or experimental software, installing Windows Server 2022 in a virtual machine provides a sandboxed environment where any negative effects are contained within the virtual machine. This helps protect your main system from potential harm.

  • Multi-OS Environments: Virtual machines enable you to have multiple operating systems running simultaneously on a single physical computer. If you need to use both Windows Server 2022 and another operating system, such as Linux or an older version of Windows, you can set up a virtual machine to run Windows Server 2022 alongside your primary operating system.

  • Accessibility and Convenience: Running Windows Server 2022 in a virtual machine can be more convenient for certain tasks. For example, if you require specific software that is only compatible with Windows Server 2022, you can access it easily within the virtual machine without needing to switch between different computers or dual-boot setups.

Overall, installing Windows Server 2022 in a virtual machine provides flexibility, safety, and convenience for testing, development, learning, and running specific software in an isolated environment.

"},{"location":"tutorials/windows-server-2022-virtualbox/configure-os/","title":"Configure OS","text":""},{"location":"tutorials/windows-server-2022-virtualbox/configure-os/#guest-additions","title":"Guest additions","text":"Step1Step2Step3Step4Step5Step6Step7

Logon using right Ctrl + Del (\"Administrator\"/\"Admin123\"). Answer \"No\" on the question, if your PC has to be discoverable. Close all Windows for now.

Select \"Devices -> Insert Guest Additions CD Image\". At first glance, nothing will happen, but in the background, a \"virtual cd\" gets mounted.

Start the \"Windows Explorer\". You can see the \"virtual cd\" via the D:\\ drive. Double-click on \"VboxWindowsAdditions-amd64\".

Read and comprehend all messages. Follow the installation steps and restart.

Login (\"Administrator\"/\"Admin123\") and select \"View -> Full-screen Mode\". It takes a second, but the screen should maximize.

Hooray, full screen! Play with \"Host+F\" key in combination with maximizing the screen. I choose to see both my \"Linux desktop menu\" as the \"Windows Start menu\".

Start \"Windows Explorer\". Right-click on D:\\ -> Eject (= \"remove the virtual cd\"). Windows Explorer will close.

"},{"location":"tutorials/windows-server-2022-virtualbox/configure-os/#automatic-updates","title":"Automatic updates","text":"Step1Step2Step3

Right-click on \"Start -> Settings\" and select \"Update & Security\".

Install all available updates. Reboot when asked to. Repeat \"Check for updates/installing updates\".

There should be no more updates available.

"},{"location":"tutorials/windows-server-2022-virtualbox/configure-os/#clean-up","title":"Clean up.","text":"Step1Step2Step3

Clear all notifications.

Let's do a final restart so all updates are properly installed.

Finally, \"shutdown\" Windows.

"},{"location":"tutorials/windows-server-2022-virtualbox/configure-vm/","title":"Configure VM","text":""},{"location":"tutorials/windows-server-2022-virtualbox/configure-vm/#download-iso","title":"Download ISO","text":"Step1Step2Step3Step4Step5Step6

Use your favorite search engine to search for the Windows Server 2019 trial iso and choose the official Microsoft website. Registration is needed.

Select \"Download the ISO\".

Fill in the form.

Select the \"English (United States) 64-bit edition\".

Grab a coffee.

Give the file an appropriate filename.

"},{"location":"tutorials/windows-server-2022-virtualbox/configure-vm/#edit-settings","title":"Edit settings","text":"Step1Step2Step3Step4Step5Step6Step7

Right-click -> Settings.

General -> Advanced: enable copy/paste in both directions.

System -> Motherboard: first boot from \"disk\". If there is no OS found, boot from the \"virtual CD\" (.ISO file). Disable \"Floppy\".

Add a virtual optical disk.

Select \"Add\" and browse to \"/home/guru/Downloads\". Double-click the .ISO file.

Select \"Choose\".

We do not need audio.

"},{"location":"tutorials/windows-server-2022-virtualbox/configure-vm/#verify-settings","title":"Verify settings","text":""},{"location":"tutorials/windows-server-2022-virtualbox/create-snapshot-clean-install/","title":"Create snapshot clean install.","text":"Step1Step2Step3Step4

Select \"Machine -> Tools -> Snapshots\".

Select \"Current State\" and click \"Take\". Give a proper name, like \"Clean install\". A good \"Snapshot Description\" can be handy!

If you change \"something\" in this virtual machine, you will get \"Current State (changed)\". Want to revert those changes? Select \"Clean install\" and click \"Restore\". Be sure to clear the checkbox at \"Create a snapshot of the current machine state\" or you'll end up with another snapshot.

You know if the snapshot has been properly restored, if the \"Current State\" equals the \"Clean install\" again.

"},{"location":"tutorials/windows-server-2022-virtualbox/create-snapshot-sysprep/","title":"Create snapshot sysprep.","text":"Step1Step2Step3

Select \"Machine -> Tools -> Snapshots\".

Select \"Current State (changed)\" and click \"Take\". Give a proper name, like \"Sysprep\". A good \"Snapshot Description\" can be handy!

The end-result should look like this.

"},{"location":"tutorials/windows-server-2022-virtualbox/create-sysprep/","title":"Create sysprep.","text":"Step1Step2

Start the VM and login (\"Administrator\"/\"Admin123\"). Run a commandprompt.

First change the path. Then enter the sysprep command with parameters. A pop-up window appears. Finally, the system shuts down.

"},{"location":"tutorials/windows-server-2022-virtualbox/create-vm/","title":"Create VM","text":"Step1Step2Step3Step4Step5Step6Step7Step8

Select \"Machine -> New\".

Under \"Version\", select \"Windows Server 2019 (64-bit)\", as there is no possibility to choose \"Windows Server 2022 (64-bit)\" (>= VirtualBox 7).

Enter 8192 MB (8 GB) memory.

Select \"Create a virtual hard disk now\".

Select \"VDI\" as hard disk file type.

Read and comprehend the text. Select \"Dynamically allocated\".

Enter 100 GB disk size.

Current settings.

"},{"location":"tutorials/windows-server-2022-virtualbox/final-result/","title":"Final result","text":"

You\u2019ve just learned how to install a Windows Server 2022 virtual machine in VirtualBox. We have a working base system, that is fully set up and ready to be used!

Now you\u2019re ready to go on to the next step. Checkout some of my howtos.

Or you could check out some other tutorials.

If you have any questions, comments, or corrections, I\u2019d love to hear from you: jurgen dot lamsens @ telenet dot be.

"},{"location":"tutorials/windows-server-2022-virtualbox/getting-started/","title":"Getting started","text":"

Let's get set up! We have to make sure we\u2019ve got all the prerequisites set.

  • a PC (BIOS/UEFI) running Linux Mint 21
  • a VirtualBox installation
"},{"location":"tutorials/windows-server-2022-virtualbox/install-os/","title":"Install OS","text":""},{"location":"tutorials/windows-server-2022-virtualbox/install-os/#boot-from-iso","title":"Boot from ISO","text":"Step1Step2

Start the virtual machine. If you do nothing, you'll get an interactive shell. If this is the first time you start a virtual machine (in this screenshot example Windows 11), you get the \"Auto capture keyboard\" and \"mouse pointer integration\" messages. Read them and then tick the \"Do not show this message again\" checkboxes.

Close the window and choose \"Power off the machine\". Start the virtual machine again. This time, you do not get the \"Press any key...\" prompt. The Windows installer should start immediately. Time & currency format: \"Dutch (Belgium)\". Keyboard or input method: \u201cBelgian (Period).

"},{"location":"tutorials/windows-server-2022-virtualbox/install-os/#install-now","title":"Install now","text":"

Notice, you also have a \"repair\" option here... Choose \"Install now\".

"},{"location":"tutorials/windows-server-2022-virtualbox/install-os/#select-os","title":"Select OS","text":"

Choose \"Windows Server 2022 Standard Evaluation (Desktop Experience)\"

"},{"location":"tutorials/windows-server-2022-virtualbox/install-os/#license-agreement","title":"License agreement","text":"

Accept.

"},{"location":"tutorials/windows-server-2022-virtualbox/install-os/#type-of-installation","title":"Type of installation","text":"

Select \u201cCustom: Install Microsoft Server Operating System only (advanced)\".

"},{"location":"tutorials/windows-server-2022-virtualbox/install-os/#installation-location-partitioning","title":"Installation location & partitioning","text":"

There are no partitions yet. Click \"Next\".

"},{"location":"tutorials/windows-server-2022-virtualbox/install-os/#installing","title":"Installing","text":"Step1Step2Step3

Grab a coffee.

The VM reboots for the first time. Virtual UEFI/BIOS won't boot of the ISO image, as it finds a Windows installation on the virtual harddrive.

The VM reboots for the second time.

"},{"location":"tutorials/windows-server-2022-virtualbox/install-os/#account","title":"Account","text":"

Typ a password for the built-in administrator account: \"Admin123\" (do not use in a production environment!)

"},{"location":"tutorials/windows-server-2022-virtualbox/install-os/#finishing","title":"Finishing","text":"

Done! Notice, that there is no \"full screen\" possible yet. Later on, we'll install the \"virtualbox guest additions\" for that.

"},{"location":"tutorials/windows-testlab-virtualbox/","title":"Install a Windows testlab in VirtualBox 6.1.50","text":"

There are several reasons why someone might want to install Windows 11 / Windows Server 2022 lab in a virtual environment. Here are a few possible scenarios:

  • Testing and Evaluation: Installing Windows 11 / Windows Server 2022 in a virtual machine allows you to test the new operating system without affecting your primary computer or existing software setup. It provides a safe environment to evaluate the new features, compatibility with your existing software, and overall performance.

  • Development and Software Testing: If you're a developer or software tester, having a virtual machine with Windows 11 lets you ensure that your software works seamlessly on the latest version of Windows. It allows you to perform compatibility testing, identify and resolve any issues or bugs specific to Windows 11.

  • Learning and Familiarization: Virtual machines provide an excellent platform for learning and familiarizing yourself with a new operating system. By installing Windows 11 / Windows Server 2022 in a virtual machine, you can explore its features, interface, and functionalities, without the risk of making irreversible changes to your main computer.

  • Isolated Environment: Virtual machines offer isolation from the host operating system. If you need to run potentially risky or experimental software, installing Windows 11 in a virtual machine provides a sandboxed environment where any negative effects are contained within the virtual machine. This helps protect your main system from potential harm.

  • Multi-OS Environments: Virtual machines enable you to have multiple operating systems running simultaneously on a single physical computer. If you need to use both Windows 11 and another operating system, such as Linux or an older version of Windows, you can set up a virtual machine to run Windows 11 alongside your primary operating system.

  • Accessibility and Convenience: Running Windows 11 / Windows Server 2022 in a virtual machine can be more convenient for certain tasks. For example, if you require specific software that is only compatible with those OS'es, you can access it easily within the virtual machine without needing to switch between different computers or dual-boot setups.

Overall, installing a Windows 11 / Windows Server 2022 lab environment provides flexibility, safety, and convenience for testing, development, learning, and running specific software in an isolated environment.

"},{"location":"tutorials/windows-testlab-virtualbox/clone-vms/","title":"Clone VMs","text":""},{"location":"tutorials/windows-testlab-virtualbox/clone-vms/#create-vm06","title":"Create VM06","text":"Step1Step2Step3

Right-click on the Windows 11 template and select \"Clone\".

Make sure you're in \"Expert Mode\". Then match the Name, Clone type, Snapshots and Mac Address Policy according to the screenshot.

Cloning in progress.

"},{"location":"tutorials/windows-testlab-virtualbox/clone-vms/#create-vm07","title":"Create VM07","text":"Step1Step2Step3

Right-click on the Windows 11 template and select \"Clone\".

Make sure you're in \"Expert Mode\". Then match the Name, Clone type, Snapshots and Mac Address Policy according to the screenshot.

Cloning in progress.

"},{"location":"tutorials/windows-testlab-virtualbox/clone-vms/#create-vm16","title":"Create VM16","text":"Step1Step2Step3

Right-click on the Windows Server 2022 template and select \"Clone\".

Make sure you're in \"Expert Mode\". Then match the Name, Clone type, Snapshots and Mac Address Policy according to the screenshot.

Cloning in progress.

"},{"location":"tutorials/windows-testlab-virtualbox/clone-vms/#create-vm17","title":"Create VM17","text":"Step1Step2Step3

Right-click on the Windows Server 2022 template and select \"Clone\".

Make sure you're in \"Expert Mode\". Then match the Name, Clone type, Snapshots and Mac Address Policy according to the screenshot.

Cloning in progress.

"},{"location":"tutorials/windows-testlab-virtualbox/clone-vms/#create-vm18","title":"Create VM18","text":"Step1Step2Step3

Right-click on the Windows Server 2022 template and select \"Clone\".

Make sure you're in \"Expert Mode\". Then match the Name, Clone type, Snapshots and Mac Address Policy according to the screenshot.

Cloning in progress.

"},{"location":"tutorials/windows-testlab-virtualbox/configure-vms/","title":"Configure VMs","text":""},{"location":"tutorials/windows-testlab-virtualbox/configure-vms/#nat-configuration","title":"NAT configuration","text":"Step1Step2Step3

Select \"File -> Preferences -> Network\". Click on the + to create a NAT Network.

Right-click -> \"Edit NAT Network\".

  1. Change the \"Network Name\" to \"My_NAT_Network\".
  2. Change the \"Network CIDR\" to \"192.168.10.0/24\" and remove the check \"Supports DHCP\". Close all screens with \"OK\".

"},{"location":"tutorials/windows-testlab-virtualbox/configure-vms/#nat-network-and-shared-folder","title":"NAT network and shared folder","text":"

Configure following steps on VM06, VM07, VM16, VM17 and VM18. The example is for VM06.

Step1Step2Step3

Select VM06. Right-click -> Settings.

Change \"Attached to\" -> \"NAT Network\". Verify that \"Name\" is \"My_NAT_Network\".

Add a shared folder: click on the \"plus-sign\" and configure according to the screenshot.

"},{"location":"tutorials/windows-testlab-virtualbox/configure-windows-server-2022/","title":"Configure Windows Server 2022","text":"

Configure following steps on VM16, VM17 and VM18. The example is for VM16.

"},{"location":"tutorials/windows-testlab-virtualbox/configure-windows-server-2022/#basic-settings-after-sysprep","title":"Basic settings after sysprep","text":"Step1Step2Step3

Start the VM. Configure according to screenshot. Accept the License agreement after clicking \"Next\".

Password for the \"Administrator\" is \"Admin123\". Click \"Finish\". The VM reboots.

Sign in by pressing right Ctrl + Del (\"Administrator\"/\"Admin123\").

"},{"location":"tutorials/windows-testlab-virtualbox/configure-windows-server-2022/#ip-settings","title":"IP settings","text":"Step1Step2Step3Step4Step5

Right-click on Start -> Settings. Select \"Network & internet\" -> \"Change Adapter Options\".

Double-click \"Ethernet\" and click \"Properties\". Double-click \"Internet Protocol Version 4 (TCP/IPv4)\". Configure according to the screenshot.

  • VM16 is 192.168.10.16

  • VM17 is 192.168.10.17

  • VM18 is 192.168.10.18

You get this message. Safely ignore; do nothing. Just close all Windows. It will dissappear automagically.

Verify using a command prompt. Typ \"ipconfig /all\" and check the settings. This is for VM16.

You should be able to \"ping\" your favorite website.

"},{"location":"tutorials/windows-testlab-virtualbox/configure-windows-server-2022/#pc-name","title":"PC name","text":"Step1Step2

Right-click on Start -> System -> Rename this PC. Use CAPITALS. Restart when asked.

  • VM16 is \"DCOPLEIDINGEN\"

  • VM17 is \"FS01\"

  • VM18 is \"FS02\"

Login (\"Administrator\"/\"Admin123\"). Shutdown Windows.

"},{"location":"tutorials/windows-testlab-virtualbox/configure-windows11/","title":"Configure Windows 11","text":"

Configure following steps on VM06 and VM07. The example is for VM06.

"},{"location":"tutorials/windows-testlab-virtualbox/configure-windows11/#basic-settings-after-sysprep","title":"Basic settings after sysprep","text":"Step1Step2Step3Step4Step5

Start the VM. Country: Belgium. Keyboard layout: Belgian (Period). Second keyboard layout: Skip. Connect to a network: \"I don't have internet\". Connect now...: \"Continue with limited setup\". License agreement: accept. Username/passwords:

  • VM06 -> \"guru06\"/\"guru06\"

  • VM07 -> \"guru07\"/\"guru07\"

Enter the password. Acknowledge in het next screen.

  • VM06 -> \"guru06\"/\"guru06\"

  • VM07 -> \"guru07\"/\"guru07\"

Security question1: \"Doggy\" ;-)

Security question2: \"Wevelgem\".

Security question3: \"IT guru\" ;-)

"},{"location":"tutorials/windows-testlab-virtualbox/configure-windows11/#finishing","title":"Finishing","text":"Step1Step2Step3Step4Step5Step6Step7Step8

Location based services: \"No\".

Find my device: \"No\".

Diagnostic data: \"Required only\".

Inking & typing: \"No\".

Tailored experiences: \"No\".

Advertising ID: \"No\".

Installing...

The \"Start Menu\" appears.

"},{"location":"tutorials/windows-testlab-virtualbox/configure-windows11/#ip-settings","title":"IP settings","text":"Step1Step2Step3Step4Step5

Right-click on Start -> Settings.

Select \"Network & internet\". Select \"Ethernet\" and click on the button \"Edit\" next to \"IP assignment\".

Change \"Automatic (DHCP) to \"Manual\" and enable IPv4. Configure the settings according to the screenshot. Click \"Save\".

  • VM06 is 192.168.10.6

  • VM07 is 192.168.10.7

Verify using a command prompt. Typ \"ipconfig /all\" and check the settings. This is for VM06.

You should be able to \"ping\" your favorite website.

"},{"location":"tutorials/windows-testlab-virtualbox/configure-windows11/#pc-name","title":"PC name","text":"Step1Step2

Right-click on Start -> Settings. Select \"About\" and click \"Rename this PC\". Use CAPITALS. Restart when asked.

  • VM06 is \"CL01\"

  • VM07 is \"CL02\"

Login (\"guru06\"/\"guru06\"). Shutdown Windows.

"},{"location":"tutorials/windows-testlab-virtualbox/create-snapshot-clean-install/","title":"Create snapshot clean install","text":"

Configure following steps on VM06, VM07, VM16, VM17 and VM18. The example is for VM06.

Step1Step2Step3Step4

Select \"Machine -> Tools -> Snapshots\".

Select \"Current State\" and click \"Take\". Give a proper name, like \"Clean install\". A good \"Snapshot Description\" can be handy! Adjust accordingly.

If you change \"something\" in this virtual machine, you will get \"Current State (changed)\". Want to revert those changes? Select \"Clean install\" and click \"Restore\". Be sure to clear the checkbox at \"Create a snapshot of the current machine state\" or you'll end up with another snapshot.

You know if the snapshot has been properly restored, if the \"Current State\" equals the \"Clean install\" again.

"},{"location":"tutorials/windows-testlab-virtualbox/final-result/","title":"Final result","text":"

You\u2019ve just learned how to install a Windows client/server testlab in VirtualBox. We have some working base systems, that are fully set up and ready to be used!

Now you\u2019re ready to go on to the next step. Checkout some of my howtos.

Or you could check out some other tutorials.

If you have any questions, comments, or corrections, I\u2019d love to hear from you: jurgen dot lamsens @ telenet dot be.

"},{"location":"tutorials/windows-testlab-virtualbox/getting-started/","title":"Getting started","text":"

Let's get set up! We have to make sure we\u2019ve got all the prerequisites set.

  • a PC (BIOS/UEFI) running Linux Mint 21
  • a VirtualBox installation
  • a Windows 11 template to clone from
  • a Windows Server 2022 template to clone from
"},{"location":"tutorials/windows-testlab-virtualbox/group-vms/","title":"Group VMs","text":""},{"location":"tutorials/windows-testlab-virtualbox/group-vms/#group-the-templates","title":"Group the templates.","text":"Step1Step2

Select the 2 templates. Right-click -> Group.

Right-click on \"New group\" -> Rename Group. Typ \"TEMPLATES\".

"},{"location":"tutorials/windows-testlab-virtualbox/group-vms/#group-windows-11-vms","title":"Group Windows 11 VMs.","text":"Step1Step2

Select VM06 and VM07. Right-click -> Group.

Right-click on \"New group\" -> Rename Group. Typ \"WINDOWS CLIENT\".

"},{"location":"tutorials/windows-testlab-virtualbox/group-vms/#group-windows-server-vms","title":"Group Windows Server VMs.","text":"Step1Step2

Select VM16, VM17 and VM18. Right-click -> Group.

Right-click on \"New group\" -> Rename Group. Typ \"WINDOWS SERVER\".

"},{"location":"tutorials/windows-testlab-virtualbox/group-vms/#result","title":"Result","text":""},{"location":"tutorials/windows11-linuxmint21-dual-boot-bios-clonezilla/","title":"Install a Windows 11 & Linux Mint 21 dual boot LAB-PC (BIOS) with local Clonezilla backup & restore","text":"

Cisco hands-on labs are a learning resource provided by Cisco Systems, a well-known networking and IT infrastructure company. These labs are designed to offer practical, real-world experience in working with Cisco networking equipment and technologies. They are particularly valuable for individuals preparing for Cisco certifications, such as Cisco's CCNA (Cisco Certified Network Associate) or CCNP (Cisco Certified Network Professional) exams, as well as for IT professionals who want to gain hands-on experience with Cisco products and solutions.

This tutorial guides you through the relevant steps that are required to initialise and install a physical LAB PC, with a local Clonezilla restore option. You\u2019ll go from an empty computer to to a fully configured Windows/Linux dual-boot environment.

Clonezilla is a free and open-source disk cloning and imaging software that allows you to create backup copies of entire disk drives or partitions. Done experimenting? System crash? Hardware failure? Malware infection? Recover your system in its entirety back to a clean state.

Overview1Overview2Overview3Overview4Overview5

All Windows.

All Linux.

Choose your OS at the GRUB boot menu.

All restoring.

Workflow.

"},{"location":"tutorials/windows11-linuxmint21-dual-boot-bios-clonezilla/activate-windows/","title":"Activate windows","text":"

Windows uses a system called Product Activation to ensure that it is only installed and used on one device at a time. Activation is closely tied to the hardware of the machine, including details like the motherboard, CPU, and other components. When you restore a system image to a different machine, Windows detects that the hardware has changed significantly. Those changes in hardware often trigger a reactivation requirement.

"},{"location":"tutorials/windows11-linuxmint21-dual-boot-bios-clonezilla/activate-windows/#boot-into-windows","title":"Boot into Windows","text":"Step1Step2

Choose \"Windows 11 Pro 22H2\" at the GRUB boot menu.

Windows detects that the hardware has changed significantly.

"},{"location":"tutorials/windows11-linuxmint21-dual-boot-bios-clonezilla/activate-windows/#activation","title":"Activation","text":"Step1Step2Step3

Click on the \"Start\" button. Then click on the gear icon labeled \"Settings\" to open the Settings app.

In the Settings app, click on the \"System\" category.

On the right, click on the \"Activation\" option. This will open the Activation page where you can view the activation status. Here it says: \"Windows is activated with a digital license\". This is because we have \"internet access\" so Windows could re-activate. Consult official Microsoft documentation for your situation.

"},{"location":"tutorials/windows11-linuxmint21-dual-boot-bios-clonezilla/configure-bios-vs-uefi/","title":"Configure BIOS/UEFI","text":""},{"location":"tutorials/windows11-linuxmint21-dual-boot-bios-clonezilla/configure-bios-vs-uefi/#turn-on-the-computer","title":"Turn on the computer","text":"

Turn on or restart your computer and watch for a message during the POST about a particular key, usually Del or a function key like F2 (e.g. Fujitsu Esprimo PC) that you'll need to press to access the BIOS/UEFI setup utility. It's possible, you won't see such message at all, but a vendor splash screen instead. Specifics vary from computer to computer. Consult your hardware manual.

"},{"location":"tutorials/windows11-linuxmint21-dual-boot-bios-clonezilla/configure-bios-vs-uefi/#enter-the-biosuefi-setup-utility","title":"Enter the BIOS/UEFI Setup Utility","text":"

After pressing the correct keyboard command, you'll enter the BIOS/UEFI Setup Utility.

"},{"location":"tutorials/windows11-linuxmint21-dual-boot-bios-clonezilla/configure-bios-vs-uefi/#select-the-boot-mode","title":"Select the boot mode","text":"Step1Step2

In this tutorial, we do not use UEFI, but BIOS-mode. For e.g. a \"Fujitsu Esprimo PC\", select \"Boot-> CSM Configuration\".

Make sure \"Launch CSM\" is enabled and configure Legacy only for all options.

"},{"location":"tutorials/windows11-linuxmint21-dual-boot-bios-clonezilla/configure-bios-vs-uefi/#secure-boot","title":"Secure boot","text":"Step1Step2

Navigate to \"Security -> Secure boot\".

Make sure \"secure boot\" is disabled.

"},{"location":"tutorials/windows11-linuxmint21-dual-boot-bios-clonezilla/configure-bios-vs-uefi/#saveconfirm-your-changes-and-exit","title":"Save/confirm your changes and exit","text":"

Exit the utility and save changes.

"},{"location":"tutorials/windows11-linuxmint21-dual-boot-bios-clonezilla/configure-bios-vs-uefi/#shutdown","title":"Shutdown","text":"

If there is an operating system on the harddisk, it may or may not boot. If there is no operating system on the the harddisk, the sytem tries to PXE boot. Anyway, shutdown the PC by pressing the \"power button\".

"},{"location":"tutorials/windows11-linuxmint21-dual-boot-bios-clonezilla/configure-linuxmint21/","title":"Configure Linux Mint 21","text":""},{"location":"tutorials/windows11-linuxmint21-dual-boot-bios-clonezilla/configure-linuxmint21/#login","title":"Login","text":"Step1Step2

Login with \"guru\", password \"guru\" at the \"MDM Login Manager\" (MDM = Mint Display Manager).

You're greeted with a \"Welcome screen\". Take a look around and then remove the check \"Show this dialog at startup\".

"},{"location":"tutorials/windows11-linuxmint21-dual-boot-bios-clonezilla/configure-linuxmint21/#configure-update-mirror","title":"Configure update mirror","text":"Step1Step2Step3Step4Step5Step6Step7

Go to \"Menu -> Administration -> Update Manager\".

Read the text and click \"OK\".

Let's use a local mirror for fast downloads. Click \"Yes\" in the blue bar.

Authenticate with the \"guru\" password.

Click in the field \"Main (...)\". Another window appears. Select the repository with the fastest speed. In this case, let's choose LiteServer and click \"Apply\".

After changing the \"repository mirror\", the APT cache has to be updated. Click \"OK\".

Close the \"Software sources\" window and proceed with the updates. In this case, a new version of the \"Update Manager\" is available. Apply the update. Again, the password of \"guru\" is asked.

"},{"location":"tutorials/windows11-linuxmint21-dual-boot-bios-clonezilla/configure-linuxmint21/#install-updates","title":"Install updates","text":"Step1Step2Step3Step4Step5

A list of available updates is presented. Select \"Install Updates\".

Confirm the (possible) message concerning additional changes. Again, the password of \"guru\" is asked.

Finally, all updates get downloaded and installed. Grab another coffee!

When the system is up-to-date, reboot the PC.

Login. Start the \"Update manager\" again and click \"Refresh\". Your system should be up-to-date.

"},{"location":"tutorials/windows11-linuxmint21-dual-boot-bios-clonezilla/configure-linuxmint21/#system-reports","title":"System reports","text":"Step1Step2Step3

Go to \"Menu -> Administration -> System Reports\".

Ignore the reports concerning the \"language packs\" and \"the system restore utility\".

No problems detected? Done!

"},{"location":"tutorials/windows11-linuxmint21-dual-boot-bios-clonezilla/configure-linuxmint21/#applications-optional","title":"Applications (optional)","text":"
  • Install Google Chrome browser
  • Install Wireshark
  • Acquire a valid Cisco IOS image
  • Install tFTP
  • Install minicom
"},{"location":"tutorials/windows11-linuxmint21-dual-boot-bios-clonezilla/configure-linuxmint21/#cleanup","title":"Cleanup","text":"Step1Step2Step3Step4Step5Step6

Let's set a nice background.

Click Menu -> Preferences -> Power Management. Change both \"Power Options\" to \"Never\".

Clear Chrome/Firefox browser history.

Clear bash history.

Empty trash.

Desktop shortcuts: Firefox, Chrome, Wireshark. Panel shortcuts: Files, Firefox, Chrome, Terminal.

"},{"location":"tutorials/windows11-linuxmint21-dual-boot-bios-clonezilla/configure-windows11/","title":"Configure Windows 11","text":""},{"location":"tutorials/windows11-linuxmint21-dual-boot-bios-clonezilla/configure-windows11/#activation","title":"Activation","text":"Step1Step2Step3

Click on the \"Start\" button. Then click on the gear icon labeled \"Settings\" to open the Settings app.

In the Settings app, click on the \"System\" category.

On the right, click on the \"Activation\" option. This will open the Activation page where you can view the activation status. Here it says: \"Windows is activated with a digital license\". Consult official Microsoft documentation for your situation.

"},{"location":"tutorials/windows11-linuxmint21-dual-boot-bios-clonezilla/configure-windows11/#device-drivers","title":"Device drivers","text":"Step1Step2

For a \"Fujitsu Esprimo E920\", some hardware is not yet properly recognized. Specifics vary from computer to computer.

The correct drivers - even for Windows 11 - can only be found when \"Windows 10 (64-bit) Version 1506\" is selected in the dropdown box. When the \"chipset software installation utility\" was downloaded and installed, all hardware was properly recognized.

"},{"location":"tutorials/windows11-linuxmint21-dual-boot-bios-clonezilla/configure-windows11/#updates","title":"Updates","text":"Step1Step2Step3Step4Step5Step6Step7Step8

Click on the \"Start\" button. Then click on the gear icon labeled \"Settings\" to open the Settings app.

In the Settings app, click on the \"Windows Update\" category.

On the Windows Update page, click on the \"Check for updates\" button. This will initiate a check for available updates for your Windows 11 installation.

If any updates are found, downloading begins automatically. After the updates are downloaded, Windows may prompt you to restart your computer to install them. Reboot.

Once your computer restarts, Windows will automatically install the downloaded updates. This process may take some time, and your computer may restart multiple times during the installation.

After the initial set of updates is installed, it's a good idea to check for updates again to ensure that your system is fully up to date. Repeat previous steps to check for any additional updates that may be available.

Once all the updates are installed, you can verify the Windows 11 version and update status by going to the Settings app, clicking on the \"System\" category, and then selecting \"About\". Here, you can see the installed version of Windows 11 and confirm that your system is up to date.

As this is a lab environment, \"disable\" the automatic updates for now; click \"Start\", type \"services.msc\" and select the \"Services\" app. In the Services window, scroll down and locate the \"Windows Update\" service. Right-click on \"Windows Update\" and select \"Properties\" from the context menu. In the Properties window, under the \"General\" tab, locate the \"Startup type\" dropdown menu. Change the startup type to \"Disabled\". Click on \"OK\" to save the changes and close the window.

"},{"location":"tutorials/windows11-linuxmint21-dual-boot-bios-clonezilla/configure-windows11/#power","title":"Power","text":"Step1Step2

In the \"Settings\" app, choose \"Power\".

As this is a lab computer, make sure the monitor and device never go to sleep.

"},{"location":"tutorials/windows11-linuxmint21-dual-boot-bios-clonezilla/configure-windows11/#copy-iso-files","title":"Copy ISO files","text":"

In order to create some installation media with Rufus when we're offline later on, copy over the ISO files you need.

"},{"location":"tutorials/windows11-linuxmint21-dual-boot-bios-clonezilla/configure-windows11/#applications-optional","title":"Applications (optional)","text":"
  • Install Rufus on Windows 11 -> make USB-key to download GRUB and syslinux
  • Install Putty on Windows 11
  • Install Teraterm on Windows 11
  • Install WinSCP on Windows 11
  • Install Wireshark on Windows 11 -> download ONLY
  • Install Chrome on Windows 11
  • Install Firefox on Windows 11
"},{"location":"tutorials/windows11-linuxmint21-dual-boot-bios-clonezilla/configure-windows11/#cleanup-final-restart","title":"Cleanup + final restart","text":"Step1Step2Step3Step4Step5

Configure desktop shortcuts.

Empty the recycle bin.

Right-click \"Start -> Settings\".\" Click on \"Personalization -> Start\". Uncheck all settings.

Reboot the PC for the last time, to make sure all remaining updates are properly installed/configured.

Start a command prompt and execute \"ipconfig /flushdns\" followed by \"ipconfig /release\" and unplug the UTP cable.

"},{"location":"tutorials/windows11-linuxmint21-dual-boot-bios-clonezilla/configure-windows11/#shutdown1-and-power-up","title":"Shutdown1 and power-up","text":"

Shutdown the PC. Power on the PC. It is possible that some last \"updates\" are getting configured.

"},{"location":"tutorials/windows11-linuxmint21-dual-boot-bios-clonezilla/configure-windows11/#shutdown2-and-reconnect-the-network","title":"Shutdown2 and reconnect the network.","text":"

Finally, login and shutdown Windows 11 for the last time. Reconnect the UTP network cable now (but do not boot into Windows anymore).

"},{"location":"tutorials/windows11-linuxmint21-dual-boot-bios-clonezilla/create-clonezilla-network-backup/","title":"Create Clonezilla network backup","text":"

Let's take an image of our \"gold PC\" to a storage PC using SSH.

"},{"location":"tutorials/windows11-linuxmint21-dual-boot-bios-clonezilla/create-clonezilla-network-backup/#step1-8","title":"Step1 -> 8","text":"Step1Step2Step3Step4Step5Step6Step7Step8

Insert a Clonezilla USB flash drive. Make sure the monitor is \"on\". Reboot the PC. In this case a \"Fujitsu Esprimo\", press F12 once at the \"Fujitsu splash screen\" and wait. Specifics vary from computer to computer. Consult your hardware manual.

You get the \"boot menu\". Select the USB flash drive to boot from.

Select the first option.

English language.

Change keyboard layout.

Generic 105-key PC.

This is personal; I choose \"Belgian\".

This is personal; \"Belgian\" keyboard layout.

"},{"location":"tutorials/windows11-linuxmint21-dual-boot-bios-clonezilla/create-clonezilla-network-backup/#step9-16","title":"Step9 -> 16","text":"Step9Step10Step11Step12Step13Step14Step15Step16

Leave default.

Leave default.

Leave default.

We will clone the disk to an image.

The image will be stored on a SSH server.

Depending on your network; I choose \"DHCP\".

My SSH server is at 192.168.1.105

The SSH service listens at port 22.

"},{"location":"tutorials/windows11-linuxmint21-dual-boot-bios-clonezilla/create-clonezilla-network-backup/#step17-24","title":"Step17 -> 24","text":"Step17Step18Step19Step20Step21Step22Step23Step24

There is a regular user \"guru\" on the SSH server.

The image will be stored in guru's homedirectory, in an existing subdirectory \"Downloads/DUMPS\".

Read the message.

Acknowledge that you want to make a connection.

Enter the password for user \"guru\".

With a correct password, the remote folder gets mounted locally.

Select \"Beginner\".

We will save the local disk to an image.

"},{"location":"tutorials/windows11-linuxmint21-dual-boot-bios-clonezilla/create-clonezilla-network-backup/#step25-34","title":"Step25 -> 34","text":"Step25Step26Step27Step28Step29Step30Step31Step32Step33Step34

Give a meaningful name.

The local disk \"sda\" is the source disk.

Select the \"-z9p\" compression option.

Skip checking the source file system.

Skip checking the saved image.

No need for encryption here.

Poweroff the PC when the dump is completed.

Notice the command with all the options. Press Enter to begin.

Confirm \"y\" to continue.

Grab a coffee. This can take a while. The PC will be powered off at the end.

"},{"location":"tutorials/windows11-linuxmint21-dual-boot-bios-clonezilla/create-local-clonezilla-dump/","title":"Create local Clonezilla dump","text":"

Finally, let's make a local backup available on the storage partition, ready to be restored.

"},{"location":"tutorials/windows11-linuxmint21-dual-boot-bios-clonezilla/create-local-clonezilla-dump/#step1-8","title":"Step1 -> 8","text":"Step1Step2Step3Step4Step5Step6Step7Step8

Insert a Clonezilla USB flash drive. Make sure the monitor is \"on\". Reboot the PC. In this case a \"Fujitsu Esprimo\", press F12 once at the \"Fujitsu splash screen\" and wait. Specifics vary from computer to computer. Consult your hardware manual.

You get the \"boot menu\". Select the USB flash drive to boot from.

Select the first option.

English language.

Change keyboard layout.

Generic 105-key PC.

This is personal; I choose \"Belgian\".

This is personal; \"Belgian\" keyboard layout.

"},{"location":"tutorials/windows11-linuxmint21-dual-boot-bios-clonezilla/create-local-clonezilla-dump/#step9-16","title":"Step9 -> 16","text":"Step9Step10Step11Step12Step13Step14Step15Step16

Leave default.

Leave default.

Leave default.

We will clone the disk to an image.

The image will be stored on the local disk.

X.

X

X.

"},{"location":"tutorials/windows11-linuxmint21-dual-boot-bios-clonezilla/create-local-clonezilla-dump/#step17-24","title":"Step17 -> 24","text":"Step17Step18Step19Step20Step21Step22Step23Step24

X.

X.

X.

X.

X.

X.

X.

X.

"},{"location":"tutorials/windows11-linuxmint21-dual-boot-bios-clonezilla/create-storage-partition/","title":"Create storage partition","text":"

A local storage partition will be used, to hold the clonezilla backup of all other partitions.

"},{"location":"tutorials/windows11-linuxmint21-dual-boot-bios-clonezilla/create-storage-partition/#check-partition-number-and-unallocated-disk-space","title":"Check partition number and unallocated disk space","text":"guru@lab:~$_output
sudo parted -s /dev/sda unit s print free\n

The extended partition has number 4 and ends at sector 1702858751. There is some unallocated disk space available.

guru@lab:~$ sudo parted -s /dev/sda unit s print free\nModel: ATA ST1000DM003-1CH1 (scsi)\nDisk /dev/sda: 1953525168s\nSector size (logical/physical): 512B/4096B\nPartition Table: msdos\nDisk Flags: \n\nNumber  Start        End          Size        Type      File system     Flags\n        63s          2047s        1985s                 Free Space\n1      2048s        206847s      204800s     primary   ntfs            boot\n2      206848s      837578751s   837371904s  primary   ntfs\n3      837578752s   838858751s   1280000s    primary   ntfs            msftres\n        838858752s   838860797s   2046s                 Free Space\n4      838860798s   1702858751s  863997954s  extended\n5      838860800s   902858751s   63997952s   logical   linux-swap(v1)\n6      902860800s   1702858751s  799997952s  logical   ext4\n        1702858752s  1953525167s  250666416s            Free Space\n\nguru@lab:~$ \n
"},{"location":"tutorials/windows11-linuxmint21-dual-boot-bios-clonezilla/create-storage-partition/#expand-and-verify-extended-partition","title":"Expand and verify extended partition","text":"guru@lab:~$_output

This is an interactive command. See output.

sudo parted /dev/sda\n
guru@lab:~$ sudo parted /dev/sda\n[sudo] password for guru:     \nGNU Parted 3.4\nUsing /dev/sda\nWelcome to GNU Parted! Type 'help' to view a list of commands.\n(parted) resizepart 4                                                     \nWarning: Partition /dev/sda4 is being used. Are you sure you want to continue?\nYes/No? Yes                                                               \nEnd?  [872GB]? -0                                                         \n(parted) quit                                                             \nInformation: You may need to update /etc/fstab.\nguru@lab:~$\n
"},{"location":"tutorials/windows11-linuxmint21-dual-boot-bios-clonezilla/create-storage-partition/#create-partition","title":"Create partition","text":"

We'll use all remaining unallocated (free) space. First use the sector found in step one. This will fail. See output.

guru@lab:~$_output
sudo parted -s /dev/sda mkpart logical ext4 1702858752s -- -1s      <--- fails\nsudo parted -s /dev/sda mkpart logical ext4 1702858753s -- -1s      <--- OK\n
guru@lab:~$ sudo parted -s /dev/sda mkpart logical ext4 1702858752s -- -1s\nError: You requested a partition from 872GB to 1000GB (sectors 1702858752..1953525167).\nThe closest location we can manage is 872GB to 1000GB (sectors 1702858753..1953525167).\n\nguru@lab:~$ sudo parted -s /dev/sda mkpart logical ext4 1702858753s -- -1s\nWarning: The resulting partition is not properly aligned for best performance: 1702858753s % 2048s != 0s\nguru@lab:~$ \n
"},{"location":"tutorials/windows11-linuxmint21-dual-boot-bios-clonezilla/create-storage-partition/#create-filesystem","title":"Create filesystem","text":"

Just create it. No need to mount it.

guru@lab:~$_output
sudo mkfs.ext4 /dev/sda7\n
guru@lab:~$ sudo mkfs.ext4 /dev/sda7\nmke2fs 1.46.5 (30-Dec-2021)\n/dev/sda7 alignment is offset by 3584 bytes.\nThis may result in very poor performance, (re)-partitioning suggested.\nCreating filesystem with 31333301 4k blocks and 7839744 inodes\nFilesystem UUID: 4d53f383-64b7-4aa7-9093-b3829e27c1f4\nSuperblock backups stored on blocks: \n    32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, \n    4096000, 7962624, 11239424, 20480000, 23887872\n\nAllocating group tables: done                            \nWriting inode tables: done                            \nCreating journal (131072 blocks): done\nWriting superblocks and filesystem accounting information: done   \n\nguru@lab:~$ \n
"},{"location":"tutorials/windows11-linuxmint21-dual-boot-bios-clonezilla/final-result/","title":"Final result","text":"

You\u2019ve just learned how to install a Windows 11 / Linux Mint 21 dual boot system with local clonezilla restore. We have a working base system, that is fully set up and ready to be used as a LAB environment!

Now you\u2019re ready to go on to the next step. Checkout some of my howtos.

Or you could check out some other tutorials.

If you have any questions, comments, or corrections, I\u2019d love to hear from you: jurgen dot lamsens @ telenet dot be.

"},{"location":"tutorials/windows11-linuxmint21-dual-boot-bios-clonezilla/getting-started/","title":"Getting started","text":"

Let's get set up! We have to make sure we\u2019ve got all the prerequisites set.

  • lab PC's (BIOS) that can run Windows 11 and Linux Mint 21 (RAM, storage, CPU)
  • serial COM port or USB-A port
  • monitor, keyboard and mouse
  • can boot from a USB flash drive
  • network/internet access
  • 3 USB flash drives
  • storage PC with SSH access
"},{"location":"tutorials/windows11-linuxmint21-dual-boot-bios-clonezilla/grub-configuration/","title":"GRUB configuration","text":"

Let's create a nice and simple boot menu with 3 choices.

"},{"location":"tutorials/windows11-linuxmint21-dual-boot-bios-clonezilla/grub-configuration/#download-clonezilla","title":"Download Clonezilla","text":"Step1Step2Step3Step4Step5

Use your favorite search engine to search for \"Clonezilla\" and choose the official website.

Choose the \"Ubuntu-based alternative stable\" version.

Make sure the CPU archictecture is \"amd64\" and the file type is \"iso\". Click \"Download\".

The file will be downloaded to the \"Downloads\" folder.

Create a directory \"ISO\" and move the file into that directory.

"},{"location":"tutorials/windows11-linuxmint21-dual-boot-bios-clonezilla/grub-configuration/#remove-grub-countdown-timer","title":"Remove GRUB countdown timer","text":"guru@lab:~$_output
sudo sed -i 's/GRUB_TIMEOUT=10/GRUB_TIMEOUT=-1/g' /etc/default/grub\n
guru@lab:~$ sudo sed -i 's/GRUB_TIMEOUT=10/GRUB_TIMEOUT=-1/g' /etc/default/grub\n[sudo] password for guru:     \nguru@lab:~$ \n
"},{"location":"tutorials/windows11-linuxmint21-dual-boot-bios-clonezilla/grub-configuration/#custom-configuration","title":"Custom configuration","text":"step1step2step3step4step5step6astep6b

Open /etc/grub.d/40_custom in an editor (as root)

sudo xed /etc/grub.d/40_custom &\n

Open /boot/grub/grub.cfg in an editor (as non-root user)

xed /boot/grub/grub.cfg &\n

Copy over the \"Linux part\".

Copy over the \"Windows part\". Then close grub.cfg, we don't need that file anymore.

Add \"empty menu\" entry.

Copy this text to paste later on.

menuentry 'Restore CLEAN INSTALL' {\n    set isofile=\"/home/guru/Downloads/ISO/clonezilla-live-20230426-lunar-amd64.iso\"\n    loopback loop $isofile\n    linux (loop)/live/vmlinuz boot=live union=overlay username=user config components quiet noswap nolocales edd=on nomodeset ocs_prerun=\\\"mount /dev/sda7 /home/partimag\\\" ocs_live_run=\\\"/usr/sbin/ocs-sr --batch -e1 auto -e2 -t -r -j2 -k -scr -p poweroff restoreparts win-lin sda1 sda2 sda3 sda4 sda5 sda6\\\" ocs_live_extra_param=\\\"\\\" keyboard-layouts=\\\"NONE \\\" ocs_live_batch=\\\"yes\\\" locales= vga=788 ip=frommedia nosplash toram=filesystem.squashfs findiso=$isofile\n    initrd (loop)/live/initrd.img\n}\n

Add \"Clonezilla restore\" entry.

"},{"location":"tutorials/windows11-linuxmint21-dual-boot-bios-clonezilla/grub-configuration/#adjust-file-permissions","title":"Adjust file permissions","text":"guru@lab:~$_output
cd /etc/grub.d/\nsudo chmod -x *\nsudo chmod +x 00* 05* 40*\nls -lh\n
guru@lab:~$ cd /etc/grub.d\nguru@lab:/etc/grub.d$ sudo chmod -x *\nguru@lab:/etc/grub.d$ sudo chmod +x 00* 05* 40*\nguru@lab:/etc/grub.d$ ls -lh\ntotal 136K\n-rwxr-xr-x 1 root root  11K Dec 18  2022 00_header\n-rwxr-xr-x 1 root root 6,2K Dec  2  2022 05_debian_theme\n-rw-r--r-- 1 root root  19K Dec 18  2022 10_linux\n-rw-r--r-- 1 root root  43K Dec 18  2022 10_linux_zfs\n-rw-r--r-- 1 root root  15K Dec 18  2022 20_linux_xen\n-rw-r--r-- 1 root root  14K Dec 18  2022 30_os-prober\n-rw-r--r-- 1 root root 1,4K Dec 18  2022 30_uefi-firmware\n-rw-r--r-- 1 root root  700 Sep 20  2022 35_fwupd\n-rwxr-xr-x 1 root root 2,8K Oct 11 13:26 40_custom\n-rw-r--r-- 1 root root  215 Dec 18  2022 41_custom\n-rw-r--r-- 1 root root  483 Dec 18  2022 README\nguru@lab:/etc/grub.d$ \n
"},{"location":"tutorials/windows11-linuxmint21-dual-boot-bios-clonezilla/grub-configuration/#regenerate-grub-configuration","title":"Regenerate GRUB configuration","text":"guru@lab:~$_output
sudo update-grub\n
guru@lab:~$ sudo update-grub\n[sudo] password for guru:     \nSourcing file `/etc/default/grub'\nSourcing file `/etc/default/grub.d/50_linuxmint.cfg'\nSourcing file `/etc/default/grub.d/init-select.cfg'\nGenerating grub configuration file ...\ndone\nguru@lab:~$ \n
"},{"location":"tutorials/windows11-linuxmint21-dual-boot-bios-clonezilla/install-linuxmint21/","title":"Install Linux Mint 21","text":""},{"location":"tutorials/windows11-linuxmint21-dual-boot-bios-clonezilla/install-linuxmint21/#boot-from-usb","title":"Boot from USB","text":"Step1Step2Step3Step4

Insert the Linux Mint 21 USB flash drive. Make sure the monitor is \"on\". Start the PC. In this case (Fujitusu Esprimo PC), press F12 once at the \"Fujitsu splash screen\" and wait. Specifics vary from computer to computer. Consult your hardware manual.

You get the \"boot menu\". Select the USB flash drive to boot from.

Select the first option at the GRUB menu.

You're in the live-environment.

"},{"location":"tutorials/windows11-linuxmint21-dual-boot-bios-clonezilla/install-linuxmint21/#languagekeyboardcodecs","title":"Language/keyboard/codecs","text":"Step1Step2Step3

Doubleclick on \"Install Linux Mint\". Select \"English\".

Keyboard layout: Belgian/Belgian. Test some characters in the test field.

Install the multimedia codecs.

"},{"location":"tutorials/windows11-linuxmint21-dual-boot-bios-clonezilla/install-linuxmint21/#installation-typepartioning","title":"Installation type/partioning","text":"Step1Step2Step3Step4Step5Step6

In UEFI-mode, the Linux Mint 21.x installer finds the \"Windows 11 installation\", but for one reason or another (bug?) not in BIOS (non-CSM) mode (in this case). Nevermind. Just select \"Something else\" (after installation, GRUB will find the \"Windows 11 installation\" anyway).

Let's manually create partitions. First, select the \"free space\" at the bottom and click on the + sign. Make sure \"Numlock\" is active (check the LED, if any). Create a \"swap partition\" of size 32 GB (32468 MB). Look at the screenshot.

Again, select the \"free space\" at the bottom and click on the + sign. Create a \"root partition\" of size 400 GB (409600 MB).

We still have some free space left. This is for the Clonezilla dump later. Verify that the \"Linux boot loader\" will be installed on /dev/sda. Click \"Install now\".

I don't know why the installer complains about an EFI partition, as we are booted in BIOS-mode (non-CSM). Bug? Just click \"Continue\".

Read, comprehend and acknowledge the message.

"},{"location":"tutorials/windows11-linuxmint21-dual-boot-bios-clonezilla/install-linuxmint21/#installing","title":"Installing","text":"Step1Step2Step3Step4Step5

In this case, \"Brussels\" will be suggested as location.

Your name: guru. Computer name: lab. Username: guru. Password: guru.

Enjoy the slideshow.

The installation is finished. Select \"Restart Now\".

Remove the USB flash drive and press Enter.

"},{"location":"tutorials/windows11-linuxmint21-dual-boot-bios-clonezilla/install-linuxmint21/#finishing","title":"Finishing","text":"

After reboot, you have a menu where you can choose between \"Linux Mint 21.x Cinnamon\" and \"Windows Recovery Environment\" (this name is not correctly identified, must be a bug?). There is a counter from 10s to 0s. Make your choice in time. By default, \"Linux Mint\" gets started.

"},{"location":"tutorials/windows11-linuxmint21-dual-boot-bios-clonezilla/install-windows11/","title":"Install Windows 11","text":""},{"location":"tutorials/windows11-linuxmint21-dual-boot-bios-clonezilla/install-windows11/#boot-from-usb","title":"Boot from USB","text":"Step1Step2

Insert the Windows 11 USB flash drive you just created. Make sure the monitor is \"on\". Start the PC. In this case a \"Fujitsu Esprimo\", press F12 once at the \"Fujitsu splash screen\" and wait. Specifics vary from computer to computer. Consult your hardware manual.

You get the \"boot menu\". Select the USB flash drive to boot from.

"},{"location":"tutorials/windows11-linuxmint21-dual-boot-bios-clonezilla/install-windows11/#bypass-checks","title":"Bypass checks","text":"

Windows 11 has specific hardware requirements, including the need for TPM version 2.0 and certain CPU/RAM requirements. A \"Fujitsu Esprimo E900\" does not meet these requirements, but is more than enough for a lab environment, so let's bypass these checks.

Step1Step2Step3Step4

Press Shift F10 to open up a command prompt. Typ \"regedit\" and press Enter The registry editor opens.

Navigate to \"HKEY_LOCAL_MACHINE\\SYSTEM\\Setup\", right-click on the \"Setup\" key and select \"New -> Key\". Give this key the name \"LabConfig\" (be aware: qwerty!)

Select \"New -> DWORD (32-bit)\". Give this \"Value\" the name \"BypassTPMCheck\". Doubleclick on this value and change the \"Value data\" from 0 to 1.

Do the same for \"BypassRAMCheck\" and \"BypassSecureBootCheck\". Compare with the screenshot below. Close the registry editor and command prompt windows.

"},{"location":"tutorials/windows11-linuxmint21-dual-boot-bios-clonezilla/install-windows11/#time-and-currency-format","title":"Time and currency format","text":"

Dutch (Belgium). Keyboard or input method: \u201cBelgian (Period).

"},{"location":"tutorials/windows11-linuxmint21-dual-boot-bios-clonezilla/install-windows11/#install-now","title":"Install now","text":"

Notice, you also have a \"repair\" option here... Choose \"Install now\".

"},{"location":"tutorials/windows11-linuxmint21-dual-boot-bios-clonezilla/install-windows11/#license-agreement","title":"License agreement","text":"

Accept.

"},{"location":"tutorials/windows11-linuxmint21-dual-boot-bios-clonezilla/install-windows11/#type-of-installation","title":"Type of installation","text":"

Select \u201cCustom: Install Windows only (advanced)\".

"},{"location":"tutorials/windows11-linuxmint21-dual-boot-bios-clonezilla/install-windows11/#installation-location-partitioning","title":"Installation location & partitioning","text":"Step1Step2Step3Step4

Delete all partitions first, if any.

Make sure \"Num Lock\" is activated on your keyboard (check the LED if possible). Select \"New\" and create a partition of 400 GB (409600 MB) and click \"apply\".

Read and comprehend the message.

Windows creates additional partitions. Notice, there is some \"Unallocated space\" left. This is for the Linux installation and Clonezilla dump later on. Select \"Drive 0 Partition 2\" for the Windows installation.

"},{"location":"tutorials/windows11-linuxmint21-dual-boot-bios-clonezilla/install-windows11/#installing","title":"Installing","text":"Step1Step2

Grab a coffee.

The PC reboots for the first time. UEFI/BIOS won't boot of the USB flash drive, as it finds a Windows installation on the (hard)drive.

"},{"location":"tutorials/windows11-linuxmint21-dual-boot-bios-clonezilla/install-windows11/#configuration","title":"Configuration","text":"Step1Step2Step3Step4Step5Step6

Personal preference here. I select \"Belgium\".

Personal preference here. I select \"Belgian (Period)\".

Select \"Skip\"

Enter a computername. In this case \"lab\".

Windows reboots for the 2nd time.

The presence or absence of the \"Let's connect you to a network\" screen during the installation of Windows 11 22H2 can depend on various factors. If you get this screen, choose \"Next\".

"},{"location":"tutorials/windows11-linuxmint21-dual-boot-bios-clonezilla/install-windows11/#account","title":"Account","text":"Step1Step2Step3Step4Step5Step6Step7Step8Step9Step10Step11

Select \"Set up for personal use\".

Read and comprehend the concept \"Microsoft account\". We do not want such an account for now. Previous versions allowed for a \"local/offline account\", via \"Sign-in options\". Starting of Windows 11 22H2, it does not work anymore. Use this trick: select \"Sign in\".

Enter the random e-mailaddress \"no@thankyou.com\"

Enter \"whatever\" as password and select \"Sign in\".

You get an error. Nevermind. Just select \"Next\".

Login: guru

Password: guru

Acknowlege the password: guru

Security question1: Doggy

Security question2: Wevelgem

Security question3: IT guru

"},{"location":"tutorials/windows11-linuxmint21-dual-boot-bios-clonezilla/install-windows11/#finishing","title":"Finishing","text":"Step1Step2Step3Step4Step5Step6Step7Step8Step9

Location-based experiences: no.

Find my device: no.

Send diagnostic data: Required only.

Improving inking & typing: no.

Get tailored experiences: no.

Advertising id: no.

Updates.

Almost ready.

Installation done!

"},{"location":"tutorials/windows11-linuxmint21-dual-boot-bios-clonezilla/prepare-installation-media/","title":"Prepare installation media","text":"

Follow these howto's to create the installation media.

  • Windows 11 bootable USB flash drive (option: \"For BIOS (or UEFI-CSM)\")
  • Linux Mint 21 bootable USB flash drive (option: \"For BIOS (or UEFI-CSM)\")
  • Clonezilla bootable USB flash drive (todo)
"},{"location":"tutorials/windows11-linuxmint21-dual-boot-bios-clonezilla/restore-clonezilla-network-backup/","title":"Restore Clonezilla network backup","text":"

Now let's restore the image saved on the \"storage PC\" to another \"lab PC\" using SSH.

"},{"location":"tutorials/windows11-linuxmint21-dual-boot-bios-clonezilla/restore-clonezilla-network-backup/#step1-8","title":"Step1 -> 8","text":"Step1Step2Step3Step4Step5Step6Step7Step8

Insert a Clonezilla USB flash drive. Make sure the monitor is \"on\". Reboot the PC. In this case a \"Fujitsu Esprimo\", press F12 once at the \"Fujitsu splash screen\" and wait. Specifics vary from computer to computer. Consult your hardware manual.

You get the \"boot menu\". Select the USB flash drive to boot from.

Select the first option.

English language.

Change keyboard layout.

Generic 105-key PC.

This is personal; I choose \"Belgian\".

This is personal; \"Belgian\" keyboard layout.

"},{"location":"tutorials/windows11-linuxmint21-dual-boot-bios-clonezilla/restore-clonezilla-network-backup/#step9-16","title":"Step9 -> 16","text":"Step9Step10Step11Step12Step13Step14Step15Step16

Leave default.

Leave default.

Leave default.

We will restore the disk from an image.

The image will be restored from a SSH server.

Depending on your network; I choose \"DHCP\".

My SSH server is at 192.168.1.105

The SSH service listens at port 22.

"},{"location":"tutorials/windows11-linuxmint21-dual-boot-bios-clonezilla/restore-clonezilla-network-backup/#step17-24","title":"Step17 -> 24","text":"Step17Step18Step19Step20Step21Step22Step23Step24

There is a regular user \"guru\" on the SSH server.

The image is stored in guru's homedirectory, in an existing subdirectory \"Downloads/DUMPS\".

Read the message.

Acknowledge that you want to make a connection.

Enter the password for user \"guru\".

With a correct password, the remote folder gets mounted locally.

Select \"Beginner\".

Clonezilla finds a valid image, so the option \"restoredisk/parts/...\" is available.

"},{"location":"tutorials/windows11-linuxmint21-dual-boot-bios-clonezilla/restore-clonezilla-network-backup/#step25-33","title":"Step25 -> 33","text":"Step25Step26Step27Step28Step29Step30Step31Step32Step33

All available images are listed. Choose \"win-lin\" for the image file to restore.

The target/destination disk is local disk \"sda\".

Use the partition table from the image.

Skip checking the image before restoring.

Poweroff when the restore is completed.

Notice the command with all the options. Press Enter to begin.

Confirm the restore, if you are sure.

Confirm the restore, if you are really sure ;-)

Grab a coffee. This can take a while.

"},{"location":"tutorials/windows11-linuxmint21-dual-boot-uefi/","title":"Install a Windows 11 and Linux Mint 21 dual boot PC (UEFI)","text":"

There are several reasons why someone might choose to install a dual boot system with Windows 11 and Linux Mint 21. Here are some common motivations:

  • Compatibility and software availability: Windows is still the dominant operating system for desktop computers, and some software applications may only be available for Windows. By having Windows 11 installed, you ensure compatibility with those applications.

  • Linux for development and customization: Linux Mint 21, being a popular Linux distribution, offers a robust environment for software development, programming, and customization. Many developers prefer Linux for its flexibility, command-line tools, and availability of programming languages and frameworks.

  • Security and privacy: Linux is often considered more secure and privacy-oriented compared to Windows. Some users prefer to use Linux Mint for their day-to-day tasks to minimize exposure to potential security vulnerabilities and data tracking. By having a dual boot system, users can switch between the two operating systems based on their specific needs.

  • Learning and exploration: Installing Linux alongside Windows allows users to explore and learn about different operating systems. Linux offers a different user experience, file system structure, and command-line interface, providing an opportunity to expand knowledge and skills in computing.

  • Multimedia and gaming: While Linux has made significant progress in supporting multimedia and gaming, Windows still provides better compatibility with a wider range of games and multimedia software. By having both operating systems, users can enjoy the benefits of Windows for gaming and multimedia while leveraging Linux for other tasks.

  • Dual boot as a backup: In some cases, users may prefer to have a backup operating system available in case one of the systems becomes unbootable or experiences technical issues. Having a dual boot setup ensures that users can still access their data and continue working, even if one operating system encounters problems.

It's important to note that setting up a dual boot system requires careful partitioning and installation procedures to ensure both operating systems coexist without conflicts. Additionally, users should be comfortable managing and troubleshooting both Windows and Linux environments.

"},{"location":"tutorials/windows11-linuxmint21-dual-boot-uefi/configure-bios-vs-uefi/","title":"Configure BIOS/UEFI","text":""},{"location":"tutorials/windows11-linuxmint21-dual-boot-uefi/configure-bios-vs-uefi/#turn-on-the-computer","title":"Turn on the computer","text":"

Turn on or restart your computer and watch for a message during the POST about a particular key, usually Del or a function key like F10 (e.g. HP Z2 PC) that you'll need to press to access the BIOS/UEFI setup utility. It's possible, you won't see such message at all, but a vendor splash screen instead.

"},{"location":"tutorials/windows11-linuxmint21-dual-boot-uefi/configure-bios-vs-uefi/#enter-the-biosuefi-setup-utility","title":"Enter the BIOS/UEFI Setup Utility","text":"

After pressing the correct keyboard command, you'll enter the BIOS/UEFI Setup Utility.

"},{"location":"tutorials/windows11-linuxmint21-dual-boot-uefi/configure-bios-vs-uefi/#wipe-the-harddisk-if-possible","title":"Wipe the harddisk (if possible)","text":"

Some systems make wiping the harddisk possible from BIOS/UEFI (e.g. \"HP Z2 PC\").

Step1Step2Step3Step4Step5Step6Step7

Select tab \"Security -> Hard Drive Utilities\".

Select \"Secure Erase\".

Confirm your drive.

Read and comprehend the message. Choose \"Secure Erase (Format NVM) Clear\" in this case.

Confirm.

Confirm again.

The wipe completes successfully.

"},{"location":"tutorials/windows11-linuxmint21-dual-boot-uefi/configure-bios-vs-uefi/#select-the-boot-mode","title":"Select the boot mode","text":"Step1Step2

In this tutorial, we do not use BIOS, but UEFI-mode. For e.g. a \"HP Z2 PC\", select \"Advanced -> Secure Boot Configuration\".

Choose \"Legacy Support Disable, Secure Boot Disable\".

"},{"location":"tutorials/windows11-linuxmint21-dual-boot-uefi/configure-bios-vs-uefi/#saveconfirm-your-changes-and-exit","title":"Save/confirm your changes and exit","text":"

Exit the utility using Esc and save changes.

"},{"location":"tutorials/windows11-linuxmint21-dual-boot-uefi/configure-bios-vs-uefi/#shutdown","title":"Shutdown","text":"

If you could wipe the harddisk, the sytem tries to PXE boot. If you could not, it may or may not boot. Nevermind. We will eventually erase possible partitions in the next steps. Shutdown the PC by pressing the \"power button\" long enough.

"},{"location":"tutorials/windows11-linuxmint21-dual-boot-uefi/configure-linuxmint21/","title":"Configure Linux Mint 21","text":""},{"location":"tutorials/windows11-linuxmint21-dual-boot-uefi/configure-linuxmint21/#login","title":"Login","text":"Step1Step2

Login with \"guru\", password \"guru\" at the \"MDM Login Manager\" (MDM = Mint Display Manager).

You're greeted with a \"Welcome screen\". Take a look around and then remove the check \"Show this dialog at startup\".

"},{"location":"tutorials/windows11-linuxmint21-dual-boot-uefi/configure-linuxmint21/#add-taskbar","title":"Add taskbar","text":"Step1Step2Step3Step4Step5

In this case, I have 2 monitors. Go to Menu -> Preferences -> Display

The left monitor must be the \"primary\". If necessary, switch monitor positions by dragging and click \"Apply\". If everything looks good, confirm this configuration.

Left monitor: right-click on the taskbar and choose \"Add a new panel\".

Red bars become visible on each side of both monitors.

Right monitor: click on the bottom red bar. A task bar is added and the red bars disappear.

"},{"location":"tutorials/windows11-linuxmint21-dual-boot-uefi/configure-linuxmint21/#add-applets","title":"Add applets","text":"Step1Step2Step3Step4

Right monitor: right-click and activate \"Panel edit mode\". Then choose \"Applets\".

Right monitor: navigate to \"Grouped window list\" and click on the + sign. Some icons become visible at the bottom right. Probably a bug, but is hard to see those icons. Close the \"Applets\" window.

Right monitor: Drag those icons all the way up to the left side of the screen (still on the right monitor!) and release the mouse.

Right monitor: right-click on the bottom taskbar and deactivate \"Panel edit mode\".

"},{"location":"tutorials/windows11-linuxmint21-dual-boot-uefi/configure-linuxmint21/#configure-update-mirror","title":"Configure update mirror","text":"Step1Step2Step3Step4Step5Step6

Go to \"Menu -> Administration -> Update Manager\".

Read the text and click \"OK\".

Let's use a local mirror for fast downloads. Click \"Yes\" in the blue bar and authenticate with the \"guru\" password.

Click in the field \"Main (...)\". Another window appears. Select the repository with the fastest speed. In this case, I choose \"LiteServer\" for lab purposes and click \"Apply\".

After changing the \"repository mirror\", the APT cache has to be updated. Click \"OK\".

Close the \"Software sources\" window and proceed with the updates. In this case, a new version of the \"Update Manager\" is available. Apply the update. Again, the password of \"guru\" is asked.

"},{"location":"tutorials/windows11-linuxmint21-dual-boot-uefi/configure-linuxmint21/#install-updates","title":"Install updates","text":"Step1Step2Step3Step4

A list of available updates is presented. Select \"Install Updates\". Confirm the (possible) message concerning additional changes. Again, the password of \"guru\" is asked.

Finally, all updates get downloaded and installed. Grab another coffee! Or click on \"Details\" to see what the system is doing ;-)

When the system is up-to-date, reboot the PC.

Login. Start the \"Update manager\" again and click \"Refresh\". Your system should be up-to-date. If not, repeat previous steps.

"},{"location":"tutorials/windows11-linuxmint21-dual-boot-uefi/configure-linuxmint21/#system-reports","title":"System reports","text":"Step1Step2

Go to \"Menu -> Administration -> System Reports\". Ignore the reports concerning the \"language packs (1)\" and \"the system restore utility (2)\".

No problems detected? Done!

"},{"location":"tutorials/windows11-linuxmint21-dual-boot-uefi/configure-windows11/","title":"Configure Windows 11","text":""},{"location":"tutorials/windows11-linuxmint21-dual-boot-uefi/configure-windows11/#activation","title":"Activation","text":"Step1Step2Step3

Click on the \"Start\" button. Then click on the gear icon labeled \"Settings\" to open the Settings app.

In the Settings app, click on the \"System\" category.

On the right, click on the \"Activation\" option. This will open the Activation page where you can view the activation status. Here it says: \"Windows is activated\". Consult official Microsoft documentation for your situation.

"},{"location":"tutorials/windows11-linuxmint21-dual-boot-uefi/configure-windows11/#updates","title":"Updates","text":"Step1Step2Step3Step4Step5Step6Step7

Click on the \"Start\" button. Then click on the gear icon labeled \"Settings\" to open the Settings app.

In the Settings app, click on the \"Windows Update\" category.

On the Windows Update page, click on the \"Check for updates\" button. This will initiate a check for available updates for your Windows 11 installation.

If any updates are found, downloading begins automatically. After the updates are downloaded, Windows may prompt you to restart your computer to install them. Reboot.

Once your computer restarts, Windows will automatically install the downloaded updates. This process may take some time, and your computer may restart multiple times during the installation.

After the initial set of updates is installed, it's a good idea to check for updates again to ensure that your system is fully up to date. Repeat previous steps to check for any additional updates that may be available.

Once all the updates are installed, you can verify the Windows 11 version and update status by going to the Settings app, clicking on the \"System\" category, and then selecting \"About\". Here, you can see the installed version of Windows 11 and confirm that your system is up to date.

"},{"location":"tutorials/windows11-linuxmint21-dual-boot-uefi/configure-windows11/#shutdown","title":"Shutdown","text":"

Shutdown the PC.

"},{"location":"tutorials/windows11-linuxmint21-dual-boot-uefi/final-result/","title":"Final result","text":"

You\u2019ve just learned how to install a Windows 11 / Linux Mint 21 dual boot system. We have a working base system, that is fully set up and ready to be used!

Now you\u2019re ready to go on to the next step. Checkout some of my howtos.

Or you could check out some other tutorials.

If you have any questions, comments, or corrections, I\u2019d love to hear from you: jurgen dot lamsens @ telenet dot be.

"},{"location":"tutorials/windows11-linuxmint21-dual-boot-uefi/getting-started/","title":"Getting started","text":"

Let's get set up! We have to make sure we\u2019ve got all the prerequisites set.

  • PC (UEFI) that can run Windows 11 and Linux Mint 21 (RAM, storage, CPU)
  • (2) monitor(s), keyboard and mouse
  • can boot from a USB flash drive
  • internet access
  • 2 USB flash drives
"},{"location":"tutorials/windows11-linuxmint21-dual-boot-uefi/install-linuxmint21/","title":"Install Linux Mint 21","text":""},{"location":"tutorials/windows11-linuxmint21-dual-boot-uefi/install-linuxmint21/#boot-from-usb","title":"Boot from USB","text":"Step1Step2Step3Step4

Insert the Linux Mint 21 USB flash drive. Make sure both monitors are \"on\". Start the PC. In this case (HP Z4 PC), press F9 once at the \"HP splash screen\" and wait. Specifics vary from computer to computer. Consult your hardware manual.

You get the \"boot menu\". Select the USB flash drive to boot from.

Select the first option at the GRUB menu.

You're in the live-environment. In this case, both monitors are active. Possibly not configured correctly. This is for later.

"},{"location":"tutorials/windows11-linuxmint21-dual-boot-uefi/install-linuxmint21/#languagekeyboardcodecs","title":"Language/keyboard/codecs","text":"Step1Step2Step3

Doubleclick on \"Install Linux Mint\". Select \"English\".

Keyboard layout: Belgian/Belgian. Test some characters in the test field.

Install the multimedia codecs.

"},{"location":"tutorials/windows11-linuxmint21-dual-boot-uefi/install-linuxmint21/#installation-typepartioning","title":"Installation type/partioning","text":"Step1Step2Step3Step4Step5Step6

You could perfectly choose for option1, but let's choose \"Something else\".

Let's manually create partitions. First, select the \"free space\" at the bottom and click on the + sign.

Make sure \"Numlock\" is active (check the LED, if any). Create a \"swap partition\" of size 16 GB (16384 MB). Look at the screenshot.

Again, select the \"free space\" at the bottom and click on the + sign. Create a \"root partition\" with the remaining disk space.

Verify that the \"Linux boot loader\" will be installed on /dev/nvme0n1. Click \"Install now\".

Read, comprehend and acknowledge the message.

"},{"location":"tutorials/windows11-linuxmint21-dual-boot-uefi/install-linuxmint21/#installing","title":"Installing","text":"Step1Step2Step3Step4Step5

In this case, \"Brussels\" will be suggested as location.

Your name: guru. Computer name: hp. Username: guru. Password: guru.

Enjoy the slideshow.

The installation is finished. Select \"Restart Now\".

Remove the USB flash drive and press Enter.

"},{"location":"tutorials/windows11-linuxmint21-dual-boot-uefi/install-linuxmint21/#finishing","title":"Finishing","text":"

After reboot, you have a menu where you can choose between \"Linux Mint 21 Cinnamon\" and \"Windows Boot Manager\" (=Windows 11). There is a counter from 10s to 0s. Make your choice in time. By default, \"Linux Mint 21 Cinnamon\" gets started.

"},{"location":"tutorials/windows11-linuxmint21-dual-boot-uefi/install-windows11/","title":"Install Windows 11","text":""},{"location":"tutorials/windows11-linuxmint21-dual-boot-uefi/install-windows11/#boot-from-usb","title":"Boot from USB","text":"Step1Step2

Insert the Windows 11 USB flash drive. Make sure both monitors are \"on\". Start the PC. In this case (HP Z4 PC), press F9 once at the \"HP splash screen\" and wait. Specifics vary from computer to computer. Consult your hardware manual.

You get the \"boot menu\". Select the USB flash drive to boot from.

"},{"location":"tutorials/windows11-linuxmint21-dual-boot-uefi/install-windows11/#time-and-currency-format","title":"Time and currency format","text":"

Dutch (Belgium). Keyboard or input method: \u201cBelgian (Period).

"},{"location":"tutorials/windows11-linuxmint21-dual-boot-uefi/install-windows11/#install-now","title":"Install now","text":"

Notice, you also have a \"repair\" option here... Choose \"Install now\".

"},{"location":"tutorials/windows11-linuxmint21-dual-boot-uefi/install-windows11/#license-agreement","title":"License agreement","text":"

Accept.

"},{"location":"tutorials/windows11-linuxmint21-dual-boot-uefi/install-windows11/#type-of-installation","title":"Type of installation","text":"

Select \u201cCustom: Install Windows only (advanced)\".

"},{"location":"tutorials/windows11-linuxmint21-dual-boot-uefi/install-windows11/#installation-location-partitioning","title":"Installation location & partitioning","text":"Step1Step2Step3Step4

If you were able to do a secure erase in BIOS/UEFI, there are no partitions. If not, delete all partitions manually.

Make sure \"Num Lock\" is activated on your keyboard. Check the LED if possible. Select \"New\" and create a partition of 60 GB (61440 MB) and click \"apply\".

Read and comprehend the message.

Windows creates additional partitions. Notice, there is some \"Unallocated space\" left. This is for the Linux installation later on. Select \"Drive 0 Partition 3\" for the Windows installation.

"},{"location":"tutorials/windows11-linuxmint21-dual-boot-uefi/install-windows11/#installing","title":"Installing","text":"Step1Step2

Grab a coffee.

The PC reboots for the first time. UEFI/BIOS won't boot of the USB flash drive, as it finds a Windows installation on the (hard)drive.

"},{"location":"tutorials/windows11-linuxmint21-dual-boot-uefi/install-windows11/#keyboard-and-network","title":"Keyboard and network","text":"Step1Step2Step3Step4Step5

Personal preference here. I select \"Belgium\".

Personal preference here. I select \"Belgian (Period)\".

Select \"Skip\"

Windows reboots for the 2nd time.

The presence or absence of the \"Let's connect you to a network\" screen during the installation of Windows 11 23H2 can depend on various factors. If you get this screen, choose \"Next\".

"},{"location":"tutorials/windows11-linuxmint21-dual-boot-uefi/install-windows11/#account","title":"Account","text":"Step1Step2Step3Step4Step5Step6Step7Step8

Select \"sign-in options\".

Select \"Domain join instead\".

Login: guru

Password: guru

Acknowlege the password: guru

Security question1: Doggy

Security question2: Wevelgem

Security question3: IT guru

"},{"location":"tutorials/windows11-linuxmint21-dual-boot-uefi/install-windows11/#finishing","title":"Finishing","text":"Step1Step2Step3Step4Step5Step6Step7Step8Step9

Location-based experiences: no.

Find my device: no.

Send diagnostic data: Required only.

Improving inking & typing: no.

Get tailored experiences: no.

Advertising id: no.

Updates.

Almost ready.

Installation done!

"},{"location":"tutorials/windows11-linuxmint21-dual-boot-uefi/prepare-installation-media/","title":"Prepare installation media","text":"

Follow these howto's to create the installation media.

  • Windows 11 bootable USB flash drive (option: \"For UEFI (non-CSM)\")
  • Linux Mint 21 bootable USB flash drive (option: \"For UEFI (non-CSM)\")
"},{"location":"tutorials/windows11-virtualbox/","title":"Install Windows 11 in VirtualBox 6.1.50","text":"

There are several reasons why someone might want to install Windows 11 in a virtual machine (VM). Here are a few possible scenarios:

  • Testing and Evaluation: Installing Windows 11 in a virtual machine allows you to test the new operating system without affecting your primary computer or existing software setup. It provides a safe environment to evaluate the new features, compatibility with your existing software, and overall performance.

  • Development and Software Testing: If you're a developer or software tester, having a virtual machine with Windows 11 lets you ensure that your software works seamlessly on the latest version of Windows. It allows you to perform compatibility testing, identify and resolve any issues or bugs specific to Windows 11.

  • Learning and Familiarization: Virtual machines provide an excellent platform for learning and familiarizing yourself with a new operating system. By installing Windows 11 in a virtual machine, you can explore its features, interface, and functionalities, without the risk of making irreversible changes to your main computer.

  • Isolated Environment: Virtual machines offer isolation from the host operating system. If you need to run potentially risky or experimental software, installing Windows 11 in a virtual machine provides a sandboxed environment where any negative effects are contained within the virtual machine. This helps protect your main system from potential harm.

  • Multi-OS Environments: Virtual machines enable you to have multiple operating systems running simultaneously on a single physical computer. If you need to use both Windows 11 and another operating system, such as Linux or an older version of Windows, you can set up a virtual machine to run Windows 11 alongside your primary operating system.

  • Accessibility and Convenience: Running Windows 11 in a virtual machine can be more convenient for certain tasks. For example, if you require specific software that is only compatible with Windows 11, you can access it easily within the virtual machine without needing to switch between different computers or dual-boot setups.

Overall, installing Windows 11 in a virtual machine provides flexibility, safety, and convenience for testing, development, learning, and running specific software in an isolated environment.

"},{"location":"tutorials/windows11-virtualbox/configure-os/","title":"Configure OS","text":""},{"location":"tutorials/windows11-virtualbox/configure-os/#guest-additions","title":"Guest additions","text":"Step1Step2Step3Step4Step5Step6Step7

Select \"Devices -> Insert Guest Additions CD Image\". At first glance, nothing will happen, but in the background, a \"virtual cd\" gets mounted.

Start the \"Windows Explorer\". You can see the \"virtual cd\" via the D:\\ drive. Double-click on \"VboxWindowsAdditions-amd64\".

Read and comprehend all messages. Follow the installation steps and restart.

Login (\"guru\"/\"guru\") and select \"View -> Full-screen Mode\". It takes a second, but the screen should maximize.

Read and comprehend the popup message.

Hooray, full screen! Play with \"Host+F\" key in combination with maximizing the screen. I choose to see both my \"Linux desktop menu\" as the \"Windows Start menu\".

Start \"Windows Explorer\". Right-click on D:\\ -> Eject (= \"remove the virtual cd\"). Windows Explorer will close.

"},{"location":"tutorials/windows11-virtualbox/configure-os/#automatic-updates","title":"Automatic updates","text":"Step1Step2

Go to \"System -> Windows update\" and install all available updates.

Reboot when asked to. Repeat \"Check for updates/installing updates\" until no more updates are available.

"},{"location":"tutorials/windows11-virtualbox/configure-os/#restart-and-shutdown","title":"Restart and shutdown","text":"

Let's do a last restart so all pending updates are properly installed. Finally, \"shutdown\" Windows.

"},{"location":"tutorials/windows11-virtualbox/configure-vm/","title":"Configure VM","text":""},{"location":"tutorials/windows11-virtualbox/configure-vm/#download-iso","title":"Download ISO","text":"Step1Step2Step3Step4

Use your favorite search engine to search for the Windows 11 trial iso and choose the official Microsoft website. Registration is needed. (VDAB users: download from your Google Drive!)

Click the \"English (United States) 64-bit edition\" download.

Grab a coffee.

Give the file an appropriate filename.

"},{"location":"tutorials/windows11-virtualbox/configure-vm/#edit-settings","title":"Edit settings","text":"Step1Step2Step3Step4Step5Step6Step7

Right-click -> Settings.

General -> Advanced: enable copy/paste in both directions.

System -> Motherboard: first boot from \"disk\". If there is no OS found, boot from the \"virtual CD\" (.ISO file). Disable \"Floppy\".

Storage -> select \"Empty\". Add a virtual optical disk.

Select \"Add\" and browse to \"/home/guru/Downloads\". Double-click the Windows 11 .ISO file.

Select \"Choose\".

We do not need audio.

"},{"location":"tutorials/windows11-virtualbox/configure-vm/#verify-settings","title":"Verify settings","text":""},{"location":"tutorials/windows11-virtualbox/create-snapshot-clean-install/","title":"Create snapshot clean install.","text":"Step1Step2Step3Step4

Select \"Machine -> Tools -> Snapshots\".

Select \"Current State\" and click \"Take\". Give a proper name, like \"Clean install\". A good \"Snapshot Description\" can be handy!

If you change \"something\" in this virtual machine, you will get \"Current State (changed)\". Want to revert those changes? Select \"Clean install\" and click \"Restore\". Be sure to clear the checkbox at \"Create a snapshot of the current machine state\" or you'll end up with another snapshot.

You know if the snapshot has been properly restored, if the \"Current State\" equals the \"Clean install\" again.

"},{"location":"tutorials/windows11-virtualbox/create-snapshot-sysprep/","title":"Create snapshot sysprep.","text":"Step1Step2Step3

Select \"Machine -> Tools -> Snapshots\".

Select \"Current State (changed)\" and click \"Take\". Give a proper name, like \"Sysprep\". A good \"Snapshot Description\" can be handy!

The end-result should look like this.

"},{"location":"tutorials/windows11-virtualbox/create-sysprep/","title":"Create sysprep.","text":"Step1Step2Step3Step4Step5Step6Step7

Start the VM and login (\"guru\"/\"guru\"). Run a commandprompt as administrator.

  1. First change the path.

  2. Then enter the sysprep command with parameters. It is possible you get an error, like here. If not, skip the next steps.

Let's find out what the fuss is all about. Open the log file. A web search leads me to here.

Open Powershell as \"Administrator\" and run the following cmdlets.

Import-Module Appx\nImport-Module Dism\nGet-AppxPackage -AllUsers | Where PublisherId -eq 8wekyb3d8bbwe | Format-List -Property PackageFullName,PackageUserInformation\n

Look for a package \"BingSearch\" and copy it's full name

Remove that package using Powershell.

Go back to the regular command prompt. The sysprep should be working and the system will shutdown afterwards.

"},{"location":"tutorials/windows11-virtualbox/create-vm/","title":"Create VM","text":"Step1Step2Step3Step4Step5Step6Step7Step8

Select \"Machine -> New\".

Create a template, where we can clone from later on.

Enter 4096 MB (4 GB) memory.

Select \"Create a virtual hard disk now\".

Select \"VDI\" as hard disk file type.

Read and comprehend the text. Select \"Dynamically allocated\".

Enter 80 GB disk size.

The VM has been successfully created.

"},{"location":"tutorials/windows11-virtualbox/final-result/","title":"Final result","text":"

You\u2019ve just learned how to install a Windows 11 virtual machine in VirtualBox. We have a working base system, that is fully set up and ready to be used!

Now you\u2019re ready to go on to the next step. Checkout some of my howtos.

Or you could check out some other tutorials.

If you have any questions, comments, or corrections, I\u2019d love to hear from you: jurgen dot lamsens @ telenet dot be.

"},{"location":"tutorials/windows11-virtualbox/getting-started/","title":"Getting started","text":"

Let's get set up! We have to make sure we\u2019ve got all the prerequisites set.

  • a PC (BIOS/UEFI) running Linux Mint 21
  • a VirtualBox installation
"},{"location":"tutorials/windows11-virtualbox/install-os/","title":"Install OS","text":""},{"location":"tutorials/windows11-virtualbox/install-os/#boot-from-iso","title":"Boot from ISO","text":"Step1Step2Step3Step4

Start the virtual machine. Click inside the VM display window. If this is the first time, you get this information message. Read it! Select \"Do not show this message again\" and click \"Capture\". The mouse is now captured inside the window. Now \"uncapture\", by pressing \"that host key\" (right Ctrl).

Also, if this is the first time you start a virtual machine, you get the \"Auto capture keyboard\" and \"mouse pointer integration\" messages. Read them and then tick the \"Do not show this message again\" checkboxes. We get this interactive shell, as we did not \"press any key\" to boot from the virtual CD-ROM.

Close the window and choose \"Power off the machine\". Start the virtual machine again and quickly click into the window at the \"Press any key...\" prompt, so it gets the focus, and press Enter. Be fast!

The Windows 11 installer should now start. Time and currency format: Dutch (Belgium). Keyboard or input method: \u201cBelgian (Period)\". Do not click \"Next\" yet!

"},{"location":"tutorials/windows11-virtualbox/install-os/#bypass-checks","title":"Bypass checks","text":"Step1Step2

Press Shift F10 to open up a command prompt. Typ \"regedit\" and press Enter The registry editor opens. Navigate to \"HKEY_LOCAL_MACHINE\\SYSTEM\\Setup\", right-click on the \"Setup\" key and select \"New -> Key\". Give this key the name \"LabConfig\" (be aware: qwerty!)

In the white space in the right window, right-click -> New -> DWORD (32-bit). Give this \"Value\" the name \"BypassTPMCheck\". Doubleclick on this value and change the \"Value data\" of 0 to 1. Do the same for \"\u201cBypassRAMCheck\u201d and \"BypassSecureBootCheck\". Compare with the screenshot below. Close the registry editor and command prompt window.

"},{"location":"tutorials/windows11-virtualbox/install-os/#installing","title":"Installing","text":"Step1Step2Step3Step4Step5Step6Step7

Choose \"Install now\". Notice, you also have a \"repair\" option here...

Accept the license agreement.

Select \u201cCustom: Install Windows only (advanced)\".

There are no partitions yet. Click \"next\".

Grab a coffee.

The VM reboots for the first time. Virtual UEFI/BIOS won't boot of the ISO image, as it finds a Windows installation on the virtual harddrive.

The VM reboots for the second time.

"},{"location":"tutorials/windows11-virtualbox/install-os/#configuration","title":"Configuration","text":"Step1Step2Step3

Personal preference here. I select \"Belgium\".

Personal preference here. I select \"Belgian (Period)\".

Select \"Skip\". The VM will reboot for the 3rd time.

"},{"location":"tutorials/windows11-virtualbox/install-os/#sign-in","title":"Sign in.","text":"Step1Step2Step3Step4Step5Step6Step7

Click \"Sign-in options\".

Select \"Domain join instead\".

Your name: \"guru\".

Create and confirm password: \"guru\".

Security question1: \"Doggy\" ;-)

Security question2: \"Wevelgem\".

Security question3: \"IT guru\" ;-)

"},{"location":"tutorials/windows11-virtualbox/install-os/#finishing","title":"Finishing","text":"Step1Step2Step3Step4Step5Step6Step7Step8

Location based services: \"No\".

Find my device: \"No\".

Diagnostic data: \"Required only\".

Inking & typing: \"No\".

Tailored experiences: \"No\".

Advertising ID: \"No\".

Installing...

Done! Notice, that there is no \"full screen\" possible yet. Later on, we'll install the \"virtualbox guest additions\" for that.

"}]} \ No newline at end of file diff --git a/sitemap.xml b/sitemap.xml index 5b60975..7e77c15 100644 --- a/sitemap.xml +++ b/sitemap.xml @@ -2,517 +2,517 @@ https://www.opensysadmins.com/ - 2024-10-08 + 2024-10-11 daily https://www.opensysadmins.com/bike%20routes/ - 2024-10-08 + 2024-10-11 daily https://www.opensysadmins.com/bike%20routes/gent/ - 2024-10-08 + 2024-10-11 daily https://www.opensysadmins.com/blogs/ - 2024-10-08 + 2024-10-11 daily https://www.opensysadmins.com/blogs/2024/no-matching-cypher-found/ - 2024-10-08 + 2024-10-11 daily https://www.opensysadmins.com/blogs/2024/no-matching-key-exchange-method-found/ - 2024-10-08 + 2024-10-11 daily https://www.opensysadmins.com/blogs/2024/virtualbox6-guru-meditation/ - 2024-10-08 + 2024-10-11 daily https://www.opensysadmins.com/explanations/ - 2024-10-08 + 2024-10-11 daily https://www.opensysadmins.com/explanations/break-sequence-mechanism/ - 2024-10-08 + 2024-10-11 daily https://www.opensysadmins.com/explanations/cisco-switch-router-boot-sequence/ - 2024-10-08 + 2024-10-11 daily https://www.opensysadmins.com/explanations/cisco-switch-router-components/ - 2024-10-08 + 2024-10-11 daily https://www.opensysadmins.com/explanations/password-recovery-mechanism/ - 2024-10-08 + 2024-10-11 daily https://www.opensysadmins.com/howtos/ - 2024-10-08 + 2024-10-11 daily https://www.opensysadmins.com/howtos/access-cisco-device-rommon/ - 2024-10-08 + 2024-10-11 daily https://www.opensysadmins.com/howtos/acquire-valid-ios-image/ - 2024-10-08 + 2024-10-11 daily https://www.opensysadmins.com/howtos/clone-windows11-virtualbox/ - 2024-10-08 + 2024-10-11 daily https://www.opensysadmins.com/howtos/clone-windows2022-virtualbox/ - 2024-10-08 + 2024-10-11 daily https://www.opensysadmins.com/howtos/clonezilla-bootable-usb-flash-drive/ - 2024-10-08 + 2024-10-11 daily https://www.opensysadmins.com/howtos/configure-password-recovery-mechanism/ - 2024-10-08 + 2024-10-11 daily https://www.opensysadmins.com/howtos/factory-reset-cisco2960/ - 2024-10-08 + 2024-10-11 daily https://www.opensysadmins.com/howtos/install-chrome-browser-linux-mint/ - 2024-10-08 + 2024-10-11 daily https://www.opensysadmins.com/howtos/install-chrome-windows11/ - 2024-10-08 + 2024-10-11 daily https://www.opensysadmins.com/howtos/install-firefox-windows11/ - 2024-10-08 + 2024-10-11 daily https://www.opensysadmins.com/howtos/install-minicom-linux-mint/ - 2024-10-08 + 2024-10-11 daily https://www.opensysadmins.com/howtos/install-packettracer-linux-mint/ - 2024-10-08 + 2024-10-11 daily https://www.opensysadmins.com/howtos/install-putty-windows11/ - 2024-10-08 + 2024-10-11 daily https://www.opensysadmins.com/howtos/install-rufus-windows11/ - 2024-10-08 + 2024-10-11 daily https://www.opensysadmins.com/howtos/install-teraterm-windows11/ - 2024-10-08 + 2024-10-11 daily https://www.opensysadmins.com/howtos/install-tftp-linux-mint/ - 2024-10-08 + 2024-10-11 daily https://www.opensysadmins.com/howtos/install-virtualbox-linux-mint/ - 2024-10-08 + 2024-10-11 daily https://www.opensysadmins.com/howtos/install-virtualbox7-linux-mint21/ - 2024-10-08 + 2024-10-11 daily https://www.opensysadmins.com/howtos/install-windows11-virtualbox/ - 2024-10-08 + 2024-10-11 daily https://www.opensysadmins.com/howtos/install-winscp-windows11/ - 2024-10-08 + 2024-10-11 daily https://www.opensysadmins.com/howtos/install-wireshark-linux-mint21/ - 2024-10-08 + 2024-10-11 daily https://www.opensysadmins.com/howtos/install-wireshark-windows11/ - 2024-10-08 + 2024-10-11 daily https://www.opensysadmins.com/howtos/install-xmind-linux-mint/ - 2024-10-08 + 2024-10-11 daily https://www.opensysadmins.com/howtos/linuxmint21-bootable-usb-flash-drive/ - 2024-10-08 + 2024-10-11 daily https://www.opensysadmins.com/howtos/password-recovery-cisco1941/ - 2024-10-08 + 2024-10-11 daily https://www.opensysadmins.com/howtos/password-recovery-cisco2960/ - 2024-10-08 + 2024-10-11 daily https://www.opensysadmins.com/howtos/reinstall-ios-cisco1941/ - 2024-10-08 + 2024-10-11 daily https://www.opensysadmins.com/howtos/reinstall-ios-cisco2960/ - 2024-10-08 + 2024-10-11 daily https://www.opensysadmins.com/howtos/template/ - 2024-10-08 + 2024-10-11 daily https://www.opensysadmins.com/howtos/todo/ - 2024-10-08 + 2024-10-11 daily https://www.opensysadmins.com/howtos/use-minicom-linux-mint/ - 2024-10-08 + 2024-10-11 daily https://www.opensysadmins.com/howtos/windows11-bootable-usb-flash-drive/ - 2024-10-08 + 2024-10-11 daily https://www.opensysadmins.com/references/ - 2024-10-08 + 2024-10-11 daily https://www.opensysadmins.com/tutorials/ - 2024-10-08 + 2024-10-11 daily https://www.opensysadmins.com/tutorials/ansible/ - 2024-10-08 + 2024-10-11 daily https://www.opensysadmins.com/tutorials/git/ - 2024-10-08 + 2024-10-11 daily https://www.opensysadmins.com/tutorials/puppet/ - 2024-10-08 + 2024-10-11 daily https://www.opensysadmins.com/tutorials/windows-server-2022-virtualbox/ - 2024-10-08 + 2024-10-11 daily https://www.opensysadmins.com/tutorials/windows-server-2022-virtualbox/configure-os/ - 2024-10-08 + 2024-10-11 daily https://www.opensysadmins.com/tutorials/windows-server-2022-virtualbox/configure-vm/ - 2024-10-08 + 2024-10-11 daily https://www.opensysadmins.com/tutorials/windows-server-2022-virtualbox/create-snapshot-clean-install/ - 2024-10-08 + 2024-10-11 daily https://www.opensysadmins.com/tutorials/windows-server-2022-virtualbox/create-snapshot-sysprep/ - 2024-10-08 + 2024-10-11 daily https://www.opensysadmins.com/tutorials/windows-server-2022-virtualbox/create-sysprep/ - 2024-10-08 + 2024-10-11 daily https://www.opensysadmins.com/tutorials/windows-server-2022-virtualbox/create-vm/ - 2024-10-08 + 2024-10-11 daily https://www.opensysadmins.com/tutorials/windows-server-2022-virtualbox/final-result/ - 2024-10-08 + 2024-10-11 daily https://www.opensysadmins.com/tutorials/windows-server-2022-virtualbox/getting-started/ - 2024-10-08 + 2024-10-11 daily https://www.opensysadmins.com/tutorials/windows-server-2022-virtualbox/install-os/ - 2024-10-08 + 2024-10-11 daily https://www.opensysadmins.com/tutorials/windows-testlab-virtualbox/ - 2024-10-08 + 2024-10-11 daily https://www.opensysadmins.com/tutorials/windows-testlab-virtualbox/clone-vms/ - 2024-10-08 + 2024-10-11 daily https://www.opensysadmins.com/tutorials/windows-testlab-virtualbox/configure-vms/ - 2024-10-08 + 2024-10-11 daily https://www.opensysadmins.com/tutorials/windows-testlab-virtualbox/configure-windows-server-2022/ - 2024-10-08 + 2024-10-11 daily https://www.opensysadmins.com/tutorials/windows-testlab-virtualbox/configure-windows11/ - 2024-10-08 + 2024-10-11 daily https://www.opensysadmins.com/tutorials/windows-testlab-virtualbox/create-snapshot-clean-install/ - 2024-10-08 + 2024-10-11 daily https://www.opensysadmins.com/tutorials/windows-testlab-virtualbox/final-result/ - 2024-10-08 + 2024-10-11 daily https://www.opensysadmins.com/tutorials/windows-testlab-virtualbox/getting-started/ - 2024-10-08 + 2024-10-11 daily https://www.opensysadmins.com/tutorials/windows-testlab-virtualbox/group-vms/ - 2024-10-08 + 2024-10-11 daily https://www.opensysadmins.com/tutorials/windows11-linuxmint21-dual-boot-bios-clonezilla/ - 2024-10-08 + 2024-10-11 daily https://www.opensysadmins.com/tutorials/windows11-linuxmint21-dual-boot-bios-clonezilla/activate-windows/ - 2024-10-08 + 2024-10-11 daily https://www.opensysadmins.com/tutorials/windows11-linuxmint21-dual-boot-bios-clonezilla/configure-bios-vs-uefi/ - 2024-10-08 + 2024-10-11 daily https://www.opensysadmins.com/tutorials/windows11-linuxmint21-dual-boot-bios-clonezilla/configure-linuxmint21/ - 2024-10-08 + 2024-10-11 daily https://www.opensysadmins.com/tutorials/windows11-linuxmint21-dual-boot-bios-clonezilla/configure-windows11/ - 2024-10-08 + 2024-10-11 daily https://www.opensysadmins.com/tutorials/windows11-linuxmint21-dual-boot-bios-clonezilla/create-clonezilla-network-backup/ - 2024-10-08 + 2024-10-11 daily https://www.opensysadmins.com/tutorials/windows11-linuxmint21-dual-boot-bios-clonezilla/create-local-clonezilla-dump/ - 2024-10-08 + 2024-10-11 daily https://www.opensysadmins.com/tutorials/windows11-linuxmint21-dual-boot-bios-clonezilla/create-storage-partition/ - 2024-10-08 + 2024-10-11 daily https://www.opensysadmins.com/tutorials/windows11-linuxmint21-dual-boot-bios-clonezilla/final-result/ - 2024-10-08 + 2024-10-11 daily https://www.opensysadmins.com/tutorials/windows11-linuxmint21-dual-boot-bios-clonezilla/getting-started/ - 2024-10-08 + 2024-10-11 daily https://www.opensysadmins.com/tutorials/windows11-linuxmint21-dual-boot-bios-clonezilla/grub-configuration/ - 2024-10-08 + 2024-10-11 daily https://www.opensysadmins.com/tutorials/windows11-linuxmint21-dual-boot-bios-clonezilla/install-linuxmint21/ - 2024-10-08 + 2024-10-11 daily https://www.opensysadmins.com/tutorials/windows11-linuxmint21-dual-boot-bios-clonezilla/install-windows11/ - 2024-10-08 + 2024-10-11 daily https://www.opensysadmins.com/tutorials/windows11-linuxmint21-dual-boot-bios-clonezilla/prepare-installation-media/ - 2024-10-08 + 2024-10-11 daily https://www.opensysadmins.com/tutorials/windows11-linuxmint21-dual-boot-bios-clonezilla/restore-clonezilla-network-backup/ - 2024-10-08 + 2024-10-11 daily https://www.opensysadmins.com/tutorials/windows11-linuxmint21-dual-boot-uefi/ - 2024-10-08 + 2024-10-11 daily https://www.opensysadmins.com/tutorials/windows11-linuxmint21-dual-boot-uefi/configure-bios-vs-uefi/ - 2024-10-08 + 2024-10-11 daily https://www.opensysadmins.com/tutorials/windows11-linuxmint21-dual-boot-uefi/configure-linuxmint21/ - 2024-10-08 + 2024-10-11 daily https://www.opensysadmins.com/tutorials/windows11-linuxmint21-dual-boot-uefi/configure-windows11/ - 2024-10-08 + 2024-10-11 daily https://www.opensysadmins.com/tutorials/windows11-linuxmint21-dual-boot-uefi/final-result/ - 2024-10-08 + 2024-10-11 daily https://www.opensysadmins.com/tutorials/windows11-linuxmint21-dual-boot-uefi/getting-started/ - 2024-10-08 + 2024-10-11 daily https://www.opensysadmins.com/tutorials/windows11-linuxmint21-dual-boot-uefi/install-linuxmint21/ - 2024-10-08 + 2024-10-11 daily https://www.opensysadmins.com/tutorials/windows11-linuxmint21-dual-boot-uefi/install-windows11/ - 2024-10-08 + 2024-10-11 daily https://www.opensysadmins.com/tutorials/windows11-linuxmint21-dual-boot-uefi/prepare-installation-media/ - 2024-10-08 + 2024-10-11 daily https://www.opensysadmins.com/tutorials/windows11-virtualbox/ - 2024-10-08 + 2024-10-11 daily https://www.opensysadmins.com/tutorials/windows11-virtualbox/configure-os/ - 2024-10-08 + 2024-10-11 daily https://www.opensysadmins.com/tutorials/windows11-virtualbox/configure-vm/ - 2024-10-08 + 2024-10-11 daily https://www.opensysadmins.com/tutorials/windows11-virtualbox/create-snapshot-clean-install/ - 2024-10-08 + 2024-10-11 daily https://www.opensysadmins.com/tutorials/windows11-virtualbox/create-snapshot-sysprep/ - 2024-10-08 + 2024-10-11 daily https://www.opensysadmins.com/tutorials/windows11-virtualbox/create-sysprep/ - 2024-10-08 + 2024-10-11 daily https://www.opensysadmins.com/tutorials/windows11-virtualbox/create-vm/ - 2024-10-08 + 2024-10-11 daily https://www.opensysadmins.com/tutorials/windows11-virtualbox/final-result/ - 2024-10-08 + 2024-10-11 daily https://www.opensysadmins.com/tutorials/windows11-virtualbox/getting-started/ - 2024-10-08 + 2024-10-11 daily https://www.opensysadmins.com/tutorials/windows11-virtualbox/install-os/ - 2024-10-08 + 2024-10-11 daily \ No newline at end of file diff --git a/sitemap.xml.gz b/sitemap.xml.gz index 7e1c9e4..f6361dd 100644 Binary files a/sitemap.xml.gz and b/sitemap.xml.gz differ