Latest commit

History

34 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

winode

Automated BYO License Windows Install on Linode - Launchable from Stackscripts

Warning: This is an unofficial capability that is not officially supported by Linode or Akamai Technologies. Use at your own risk

Please do NOT contact Linode support with questions about Windows as it is out of their scope of support at this time. Feel free to open an issue here, but there is no guarantee of support.

Features

  1. Fully automated installation from upstream Microsoft ISO images for both Windows Server 2022 and Windows 11. No need to create an initial install on a local server and upload it to Linode.
  2. Automated slipstream of all latest VirtIO drivers resulting in full support for Linode local disks (SCSI), network including VLAN and private IPs, and block storage volumes.
  3. Automatic enablement of Emergency Management Services (EMS) to the Linode a LISH allowing for recovery via Cloud Manager and SSH. LISH access then allows for easy access for troubleshotting and quickly changing an instances IP address.
  4. Automatic enablement of Remote Desktop (RDP) over TCP/3389. Use Linode Cloud Firewall rules to restrict access!

Windows License

By default installations are started without a product key and will default to evaluation mode. The autounattend.xml templates may be modified to insert your own valid product key, or you may manually provide a product key later after your installation is running. Please note that it is the users responsibiltiy to ensure you are in compliance with Microsoft license terms. Microsoft allows for use of the evaluation version for testing only.

Known Issues

  1. Linode Backups require EXT raw filesystem. The RAW partitioned disk for a winode is therefore not supported. Critical data should be backed up via some other mechanism. Linode Object Storage (OBJ) could be leveraged to store this data.
  2. As of November 2025 Linode doesn't support nested virtualization. As a result Windows Subsystem for Linux (WSL2) will not function. You may still run WSL1 by forcing it with "wsl --set-default-version 1". On Windows 11 the following Powershell command is also required "New-ItemProperty HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Lxss DefaultVersion -Value 1 -Force"
  3. Resizing your local disk to a larger disk is supported, but requires manually expanding the NTFS volume within Windows following resizing the RAW Linode disk. To shrink your disk you must shrink the NTFS volume, and then use a temporary block storage volume to backup the volume, delete the local disk, add a new local disk, and copy the contents back from Block Storage.
  4. The Linode GLISH VNC recovery console lacks support for sending CTRL-ALT-DEL. The easiest work around is to just use the provided RDP defaults and use a Remote Desktop client. Alternatively you can extract a valid GLISH session ID and use noVNC to connect over a WebSocket.
  5. Network configurations default to using DHCP. It is suggested as a best practice to move to a static IP address configuration as well as any further customizations you wish to make.

Getting Started

  1. Copy/paste or otherwise insert install-windows.sh into a new StackScript that you create with an Ubuntu 22.04 image target.
  2. Create a new Linode using this Stackscript. If using Cloud Manager, fill in the UDF variables including a valid Linode API token. If using the API to create your instance insert UDF variables with your API call. Total install time varies, but is typically 15-30 minutes. Your winode will reboot several times as part of the install process. If installing Windows 11 you must provide your own valid ISO download URL. You may get a new URL by going to (https://www.microsoft.com/en-us/software-download/windows11). Note that URLs are valid for 24 hours and then must be updated again. Alternatively you may download your own copy and self-host it for future installs should you have a right to do so.

Instance Requirements

  • Windows Server instances will run on a Nanode with 1GB of RAM (512MB is Microsoft minimum), but performance is very poor.
  • Windows 11 officially requires at least 4GB of RAM.

Screenshots

Screenshot

Screenshot

Screenshot

About

BYO License Windows on Linode

Resources

Stars

23 stars

Watchers

2 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Latest commit

History

34 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

winode

Automated BYO License Windows Install on Linode - Launchable from Stackscripts

Warning: This is an unofficial capability that is not officially supported by Linode or Akamai Technologies. Use at your own risk

Please do NOT contact Linode support with questions about Windows as it is out of their scope of support at this time. Feel free to open an issue here, but there is no guarantee of support.

Features

  1. Fully automated installation from upstream Microsoft ISO images for both Windows Server 2022 and Windows 11. No need to create an initial install on a local server and upload it to Linode.
  2. Automated slipstream of all latest VirtIO drivers resulting in full support for Linode local disks (SCSI), network including VLAN and private IPs, and block storage volumes.
  3. Automatic enablement of Emergency Management Services (EMS) to the Linode a LISH allowing for recovery via Cloud Manager and SSH. LISH access then allows for easy access for troubleshotting and quickly changing an instances IP address.
  4. Automatic enablement of Remote Desktop (RDP) over TCP/3389. Use Linode Cloud Firewall rules to restrict access!

Windows License

By default installations are started without a product key and will default to evaluation mode. The autounattend.xml templates may be modified to insert your own valid product key, or you may manually provide a product key later after your installation is running. Please note that it is the users responsibiltiy to ensure you are in compliance with Microsoft license terms. Microsoft allows for use of the evaluation version for testing only.

Known Issues

  1. Linode Backups require EXT raw filesystem. The RAW partitioned disk for a winode is therefore not supported. Critical data should be backed up via some other mechanism. Linode Object Storage (OBJ) could be leveraged to store this data.
  2. As of November 2025 Linode doesn't support nested virtualization. As a result Windows Subsystem for Linux (WSL2) will not function. You may still run WSL1 by forcing it with "wsl --set-default-version 1". On Windows 11 the following Powershell command is also required "New-ItemProperty HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Lxss DefaultVersion -Value 1 -Force"
  3. Resizing your local disk to a larger disk is supported, but requires manually expanding the NTFS volume within Windows following resizing the RAW Linode disk. To shrink your disk you must shrink the NTFS volume, and then use a temporary block storage volume to backup the volume, delete the local disk, add a new local disk, and copy the contents back from Block Storage.
  4. The Linode GLISH VNC recovery console lacks support for sending CTRL-ALT-DEL. The easiest work around is to just use the provided RDP defaults and use a Remote Desktop client. Alternatively you can extract a valid GLISH session ID and use noVNC to connect over a WebSocket.
  5. Network configurations default to using DHCP. It is suggested as a best practice to move to a static IP address configuration as well as any further customizations you wish to make.

Getting Started

  1. Copy/paste or otherwise insert install-windows.sh into a new StackScript that you create with an Ubuntu 22.04 image target.
  2. Create a new Linode using this Stackscript. If using Cloud Manager, fill in the UDF variables including a valid Linode API token. If using the API to create your instance insert UDF variables with your API call. Total install time varies, but is typically 15-30 minutes. Your winode will reboot several times as part of the install process. If installing Windows 11 you must provide your own valid ISO download URL. You may get a new URL by going to (https://www.microsoft.com/en-us/software-download/windows11). Note that URLs are valid for 24 hours and then must be updated again. Alternatively you may download your own copy and self-host it for future installs should you have a right to do so.

Instance Requirements

  • Windows Server instances will run on a Nanode with 1GB of RAM (512MB is Microsoft minimum), but performance is very poor.
  • Windows 11 officially requires at least 4GB of RAM.

Screenshots

Screenshot

Screenshot

Screenshot

About

BYO License Windows on Linode

Resources

Stars

23 stars

Watchers

2 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Latest commit

History

34 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

winode

Automated BYO License Windows Install on Linode - Launchable from Stackscripts

Warning: This is an unofficial capability that is not officially supported by Linode or Akamai Technologies. Use at your own risk

Please do NOT contact Linode support with questions about Windows as it is out of their scope of support at this time. Feel free to open an issue here, but there is no guarantee of support.

Features

  1. Fully automated installation from upstream Microsoft ISO images for both Windows Server 2022 and Windows 11. No need to create an initial install on a local server and upload it to Linode.
  2. Automated slipstream of all latest VirtIO drivers resulting in full support for Linode local disks (SCSI), network including VLAN and private IPs, and block storage volumes.
  3. Automatic enablement of Emergency Management Services (EMS) to the Linode a LISH allowing for recovery via Cloud Manager and SSH. LISH access then allows for easy access for troubleshotting and quickly changing an instances IP address.
  4. Automatic enablement of Remote Desktop (RDP) over TCP/3389. Use Linode Cloud Firewall rules to restrict access!

Windows License

By default installations are started without a product key and will default to evaluation mode. The autounattend.xml templates may be modified to insert your own valid product key, or you may manually provide a product key later after your installation is running. Please note that it is the users responsibiltiy to ensure you are in compliance with Microsoft license terms. Microsoft allows for use of the evaluation version for testing only.

Known Issues

  1. Linode Backups require EXT raw filesystem. The RAW partitioned disk for a winode is therefore not supported. Critical data should be backed up via some other mechanism. Linode Object Storage (OBJ) could be leveraged to store this data.
  2. As of November 2025 Linode doesn't support nested virtualization. As a result Windows Subsystem for Linux (WSL2) will not function. You may still run WSL1 by forcing it with "wsl --set-default-version 1". On Windows 11 the following Powershell command is also required "New-ItemProperty HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Lxss DefaultVersion -Value 1 -Force"
  3. Resizing your local disk to a larger disk is supported, but requires manually expanding the NTFS volume within Windows following resizing the RAW Linode disk. To shrink your disk you must shrink the NTFS volume, and then use a temporary block storage volume to backup the volume, delete the local disk, add a new local disk, and copy the contents back from Block Storage.
  4. The Linode GLISH VNC recovery console lacks support for sending CTRL-ALT-DEL. The easiest work around is to just use the provided RDP defaults and use a Remote Desktop client. Alternatively you can extract a valid GLISH session ID and use noVNC to connect over a WebSocket.
  5. Network configurations default to using DHCP. It is suggested as a best practice to move to a static IP address configuration as well as any further customizations you wish to make.

Getting Started

  1. Copy/paste or otherwise insert install-windows.sh into a new StackScript that you create with an Ubuntu 22.04 image target.
  2. Create a new Linode using this Stackscript. If using Cloud Manager, fill in the UDF variables including a valid Linode API token. If using the API to create your instance insert UDF variables with your API call. Total install time varies, but is typically 15-30 minutes. Your winode will reboot several times as part of the install process. If installing Windows 11 you must provide your own valid ISO download URL. You may get a new URL by going to (https://www.microsoft.com/en-us/software-download/windows11). Note that URLs are valid for 24 hours and then must be updated again. Alternatively you may download your own copy and self-host it for future installs should you have a right to do so.

Instance Requirements

  • Windows Server instances will run on a Nanode with 1GB of RAM (512MB is Microsoft minimum), but performance is very poor.
  • Windows 11 officially requires at least 4GB of RAM.

Screenshots

Screenshot

Screenshot

Screenshot

About

BYO License Windows on Linode

Resources

Stars

23 stars

Watchers

2 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Latest commit

History

34 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

winode

Automated BYO License Windows Install on Linode - Launchable from Stackscripts

Warning: This is an unofficial capability that is not officially supported by Linode or Akamai Technologies. Use at your own risk

Please do NOT contact Linode support with questions about Windows as it is out of their scope of support at this time. Feel free to open an issue here, but there is no guarantee of support.

Features

  1. Fully automated installation from upstream Microsoft ISO images for both Windows Server 2022 and Windows 11. No need to create an initial install on a local server and upload it to Linode.
  2. Automated slipstream of all latest VirtIO drivers resulting in full support for Linode local disks (SCSI), network including VLAN and private IPs, and block storage volumes.
  3. Automatic enablement of Emergency Management Services (EMS) to the Linode a LISH allowing for recovery via Cloud Manager and SSH. LISH access then allows for easy access for troubleshotting and quickly changing an instances IP address.
  4. Automatic enablement of Remote Desktop (RDP) over TCP/3389. Use Linode Cloud Firewall rules to restrict access!

Windows License

By default installations are started without a product key and will default to evaluation mode. The autounattend.xml templates may be modified to insert your own valid product key, or you may manually provide a product key later after your installation is running. Please note that it is the users responsibiltiy to ensure you are in compliance with Microsoft license terms. Microsoft allows for use of the evaluation version for testing only.

Known Issues

  1. Linode Backups require EXT raw filesystem. The RAW partitioned disk for a winode is therefore not supported. Critical data should be backed up via some other mechanism. Linode Object Storage (OBJ) could be leveraged to store this data.
  2. As of November 2025 Linode doesn't support nested virtualization. As a result Windows Subsystem for Linux (WSL2) will not function. You may still run WSL1 by forcing it with "wsl --set-default-version 1". On Windows 11 the following Powershell command is also required "New-ItemProperty HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Lxss DefaultVersion -Value 1 -Force"
  3. Resizing your local disk to a larger disk is supported, but requires manually expanding the NTFS volume within Windows following resizing the RAW Linode disk. To shrink your disk you must shrink the NTFS volume, and then use a temporary block storage volume to backup the volume, delete the local disk, add a new local disk, and copy the contents back from Block Storage.
  4. The Linode GLISH VNC recovery console lacks support for sending CTRL-ALT-DEL. The easiest work around is to just use the provided RDP defaults and use a Remote Desktop client. Alternatively you can extract a valid GLISH session ID and use noVNC to connect over a WebSocket.
  5. Network configurations default to using DHCP. It is suggested as a best practice to move to a static IP address configuration as well as any further customizations you wish to make.

Getting Started

  1. Copy/paste or otherwise insert install-windows.sh into a new StackScript that you create with an Ubuntu 22.04 image target.
  2. Create a new Linode using this Stackscript. If using Cloud Manager, fill in the UDF variables including a valid Linode API token. If using the API to create your instance insert UDF variables with your API call. Total install time varies, but is typically 15-30 minutes. Your winode will reboot several times as part of the install process. If installing Windows 11 you must provide your own valid ISO download URL. You may get a new URL by going to (https://www.microsoft.com/en-us/software-download/windows11). Note that URLs are valid for 24 hours and then must be updated again. Alternatively you may download your own copy and self-host it for future installs should you have a right to do so.

Instance Requirements

  • Windows Server instances will run on a Nanode with 1GB of RAM (512MB is Microsoft minimum), but performance is very poor.
  • Windows 11 officially requires at least 4GB of RAM.

Screenshots

Screenshot

Screenshot

Screenshot

About

BYO License Windows on Linode

Resources

Stars

23 stars

Watchers

2 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Latest commit

History

34 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

winode

Automated BYO License Windows Install on Linode - Launchable from Stackscripts

Warning: This is an unofficial capability that is not officially supported by Linode or Akamai Technologies. Use at your own risk

Please do NOT contact Linode support with questions about Windows as it is out of their scope of support at this time. Feel free to open an issue here, but there is no guarantee of support.

Features

  1. Fully automated installation from upstream Microsoft ISO images for both Windows Server 2022 and Windows 11. No need to create an initial install on a local server and upload it to Linode.
  2. Automated slipstream of all latest VirtIO drivers resulting in full support for Linode local disks (SCSI), network including VLAN and private IPs, and block storage volumes.
  3. Automatic enablement of Emergency Management Services (EMS) to the Linode a LISH allowing for recovery via Cloud Manager and SSH. LISH access then allows for easy access for troubleshotting and quickly changing an instances IP address.
  4. Automatic enablement of Remote Desktop (RDP) over TCP/3389. Use Linode Cloud Firewall rules to restrict access!

Windows License

By default installations are started without a product key and will default to evaluation mode. The autounattend.xml templates may be modified to insert your own valid product key, or you may manually provide a product key later after your installation is running. Please note that it is the users responsibiltiy to ensure you are in compliance with Microsoft license terms. Microsoft allows for use of the evaluation version for testing only.

Known Issues

  1. Linode Backups require EXT raw filesystem. The RAW partitioned disk for a winode is therefore not supported. Critical data should be backed up via some other mechanism. Linode Object Storage (OBJ) could be leveraged to store this data.
  2. As of November 2025 Linode doesn't support nested virtualization. As a result Windows Subsystem for Linux (WSL2) will not function. You may still run WSL1 by forcing it with "wsl --set-default-version 1". On Windows 11 the following Powershell command is also required "New-ItemProperty HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Lxss DefaultVersion -Value 1 -Force"
  3. Resizing your local disk to a larger disk is supported, but requires manually expanding the NTFS volume within Windows following resizing the RAW Linode disk. To shrink your disk you must shrink the NTFS volume, and then use a temporary block storage volume to backup the volume, delete the local disk, add a new local disk, and copy the contents back from Block Storage.
  4. The Linode GLISH VNC recovery console lacks support for sending CTRL-ALT-DEL. The easiest work around is to just use the provided RDP defaults and use a Remote Desktop client. Alternatively you can extract a valid GLISH session ID and use noVNC to connect over a WebSocket.
  5. Network configurations default to using DHCP. It is suggested as a best practice to move to a static IP address configuration as well as any further customizations you wish to make.

Getting Started

  1. Copy/paste or otherwise insert install-windows.sh into a new StackScript that you create with an Ubuntu 22.04 image target.
  2. Create a new Linode using this Stackscript. If using Cloud Manager, fill in the UDF variables including a valid Linode API token. If using the API to create your instance insert UDF variables with your API call. Total install time varies, but is typically 15-30 minutes. Your winode will reboot several times as part of the install process. If installing Windows 11 you must provide your own valid ISO download URL. You may get a new URL by going to (https://www.microsoft.com/en-us/software-download/windows11). Note that URLs are valid for 24 hours and then must be updated again. Alternatively you may download your own copy and self-host it for future installs should you have a right to do so.

Instance Requirements

  • Windows Server instances will run on a Nanode with 1GB of RAM (512MB is Microsoft minimum), but performance is very poor.
  • Windows 11 officially requires at least 4GB of RAM.

Screenshots

Screenshot

Screenshot

Screenshot

About

BYO License Windows on Linode

Resources

Stars

23 stars

Watchers

2 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Latest commit

History

34 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

winode

Automated BYO License Windows Install on Linode - Launchable from Stackscripts

Warning: This is an unofficial capability that is not officially supported by Linode or Akamai Technologies. Use at your own risk

Please do NOT contact Linode support with questions about Windows as it is out of their scope of support at this time. Feel free to open an issue here, but there is no guarantee of support.

Features

  1. Fully automated installation from upstream Microsoft ISO images for both Windows Server 2022 and Windows 11. No need to create an initial install on a local server and upload it to Linode.
  2. Automated slipstream of all latest VirtIO drivers resulting in full support for Linode local disks (SCSI), network including VLAN and private IPs, and block storage volumes.
  3. Automatic enablement of Emergency Management Services (EMS) to the Linode a LISH allowing for recovery via Cloud Manager and SSH. LISH access then allows for easy access for troubleshotting and quickly changing an instances IP address.
  4. Automatic enablement of Remote Desktop (RDP) over TCP/3389. Use Linode Cloud Firewall rules to restrict access!

Windows License

By default installations are started without a product key and will default to evaluation mode. The autounattend.xml templates may be modified to insert your own valid product key, or you may manually provide a product key later after your installation is running. Please note that it is the users responsibiltiy to ensure you are in compliance with Microsoft license terms. Microsoft allows for use of the evaluation version for testing only.

Known Issues

  1. Linode Backups require EXT raw filesystem. The RAW partitioned disk for a winode is therefore not supported. Critical data should be backed up via some other mechanism. Linode Object Storage (OBJ) could be leveraged to store this data.
  2. As of November 2025 Linode doesn't support nested virtualization. As a result Windows Subsystem for Linux (WSL2) will not function. You may still run WSL1 by forcing it with "wsl --set-default-version 1". On Windows 11 the following Powershell command is also required "New-ItemProperty HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Lxss DefaultVersion -Value 1 -Force"
  3. Resizing your local disk to a larger disk is supported, but requires manually expanding the NTFS volume within Windows following resizing the RAW Linode disk. To shrink your disk you must shrink the NTFS volume, and then use a temporary block storage volume to backup the volume, delete the local disk, add a new local disk, and copy the contents back from Block Storage.
  4. The Linode GLISH VNC recovery console lacks support for sending CTRL-ALT-DEL. The easiest work around is to just use the provided RDP defaults and use a Remote Desktop client. Alternatively you can extract a valid GLISH session ID and use noVNC to connect over a WebSocket.
  5. Network configurations default to using DHCP. It is suggested as a best practice to move to a static IP address configuration as well as any further customizations you wish to make.

Getting Started

  1. Copy/paste or otherwise insert install-windows.sh into a new StackScript that you create with an Ubuntu 22.04 image target.
  2. Create a new Linode using this Stackscript. If using Cloud Manager, fill in the UDF variables including a valid Linode API token. If using the API to create your instance insert UDF variables with your API call. Total install time varies, but is typically 15-30 minutes. Your winode will reboot several times as part of the install process. If installing Windows 11 you must provide your own valid ISO download URL. You may get a new URL by going to (https://www.microsoft.com/en-us/software-download/windows11). Note that URLs are valid for 24 hours and then must be updated again. Alternatively you may download your own copy and self-host it for future installs should you have a right to do so.

Instance Requirements

  • Windows Server instances will run on a Nanode with 1GB of RAM (512MB is Microsoft minimum), but performance is very poor.
  • Windows 11 officially requires at least 4GB of RAM.

Screenshots

Screenshot

Screenshot

Screenshot

About

BYO License Windows on Linode

Resources

Stars

23 stars

Watchers

2 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Latest commit

History

34 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

winode

Automated BYO License Windows Install on Linode - Launchable from Stackscripts

Warning: This is an unofficial capability that is not officially supported by Linode or Akamai Technologies. Use at your own risk

Please do NOT contact Linode support with questions about Windows as it is out of their scope of support at this time. Feel free to open an issue here, but there is no guarantee of support.

Features

  1. Fully automated installation from upstream Microsoft ISO images for both Windows Server 2022 and Windows 11. No need to create an initial install on a local server and upload it to Linode.
  2. Automated slipstream of all latest VirtIO drivers resulting in full support for Linode local disks (SCSI), network including VLAN and private IPs, and block storage volumes.
  3. Automatic enablement of Emergency Management Services (EMS) to the Linode a LISH allowing for recovery via Cloud Manager and SSH. LISH access then allows for easy access for troubleshotting and quickly changing an instances IP address.
  4. Automatic enablement of Remote Desktop (RDP) over TCP/3389. Use Linode Cloud Firewall rules to restrict access!

Windows License

By default installations are started without a product key and will default to evaluation mode. The autounattend.xml templates may be modified to insert your own valid product key, or you may manually provide a product key later after your installation is running. Please note that it is the users responsibiltiy to ensure you are in compliance with Microsoft license terms. Microsoft allows for use of the evaluation version for testing only.

Known Issues

  1. Linode Backups require EXT raw filesystem. The RAW partitioned disk for a winode is therefore not supported. Critical data should be backed up via some other mechanism. Linode Object Storage (OBJ) could be leveraged to store this data.
  2. As of November 2025 Linode doesn't support nested virtualization. As a result Windows Subsystem for Linux (WSL2) will not function. You may still run WSL1 by forcing it with "wsl --set-default-version 1". On Windows 11 the following Powershell command is also required "New-ItemProperty HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Lxss DefaultVersion -Value 1 -Force"
  3. Resizing your local disk to a larger disk is supported, but requires manually expanding the NTFS volume within Windows following resizing the RAW Linode disk. To shrink your disk you must shrink the NTFS volume, and then use a temporary block storage volume to backup the volume, delete the local disk, add a new local disk, and copy the contents back from Block Storage.
  4. The Linode GLISH VNC recovery console lacks support for sending CTRL-ALT-DEL. The easiest work around is to just use the provided RDP defaults and use a Remote Desktop client. Alternatively you can extract a valid GLISH session ID and use noVNC to connect over a WebSocket.
  5. Network configurations default to using DHCP. It is suggested as a best practice to move to a static IP address configuration as well as any further customizations you wish to make.

Getting Started

  1. Copy/paste or otherwise insert install-windows.sh into a new StackScript that you create with an Ubuntu 22.04 image target.
  2. Create a new Linode using this Stackscript. If using Cloud Manager, fill in the UDF variables including a valid Linode API token. If using the API to create your instance insert UDF variables with your API call. Total install time varies, but is typically 15-30 minutes. Your winode will reboot several times as part of the install process. If installing Windows 11 you must provide your own valid ISO download URL. You may get a new URL by going to (https://www.microsoft.com/en-us/software-download/windows11). Note that URLs are valid for 24 hours and then must be updated again. Alternatively you may download your own copy and self-host it for future installs should you have a right to do so.

Instance Requirements

  • Windows Server instances will run on a Nanode with 1GB of RAM (512MB is Microsoft minimum), but performance is very poor.
  • Windows 11 officially requires at least 4GB of RAM.

Screenshots

Screenshot

Screenshot

Screenshot

About

BYO License Windows on Linode

Resources

Stars

23 stars

Watchers

2 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Latest commit

History

34 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

winode

Automated BYO License Windows Install on Linode - Launchable from Stackscripts

Warning: This is an unofficial capability that is not officially supported by Linode or Akamai Technologies. Use at your own risk

Please do NOT contact Linode support with questions about Windows as it is out of their scope of support at this time. Feel free to open an issue here, but there is no guarantee of support.

Features

  1. Fully automated installation from upstream Microsoft ISO images for both Windows Server 2022 and Windows 11. No need to create an initial install on a local server and upload it to Linode.
  2. Automated slipstream of all latest VirtIO drivers resulting in full support for Linode local disks (SCSI), network including VLAN and private IPs, and block storage volumes.
  3. Automatic enablement of Emergency Management Services (EMS) to the Linode a LISH allowing for recovery via Cloud Manager and SSH. LISH access then allows for easy access for troubleshotting and quickly changing an instances IP address.
  4. Automatic enablement of Remote Desktop (RDP) over TCP/3389. Use Linode Cloud Firewall rules to restrict access!

Windows License

By default installations are started without a product key and will default to evaluation mode. The autounattend.xml templates may be modified to insert your own valid product key, or you may manually provide a product key later after your installation is running. Please note that it is the users responsibiltiy to ensure you are in compliance with Microsoft license terms. Microsoft allows for use of the evaluation version for testing only.

Known Issues

  1. Linode Backups require EXT raw filesystem. The RAW partitioned disk for a winode is therefore not supported. Critical data should be backed up via some other mechanism. Linode Object Storage (OBJ) could be leveraged to store this data.
  2. As of November 2025 Linode doesn't support nested virtualization. As a result Windows Subsystem for Linux (WSL2) will not function. You may still run WSL1 by forcing it with "wsl --set-default-version 1". On Windows 11 the following Powershell command is also required "New-ItemProperty HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Lxss DefaultVersion -Value 1 -Force"
  3. Resizing your local disk to a larger disk is supported, but requires manually expanding the NTFS volume within Windows following resizing the RAW Linode disk. To shrink your disk you must shrink the NTFS volume, and then use a temporary block storage volume to backup the volume, delete the local disk, add a new local disk, and copy the contents back from Block Storage.
  4. The Linode GLISH VNC recovery console lacks support for sending CTRL-ALT-DEL. The easiest work around is to just use the provided RDP defaults and use a Remote Desktop client. Alternatively you can extract a valid GLISH session ID and use noVNC to connect over a WebSocket.
  5. Network configurations default to using DHCP. It is suggested as a best practice to move to a static IP address configuration as well as any further customizations you wish to make.

Getting Started

  1. Copy/paste or otherwise insert install-windows.sh into a new StackScript that you create with an Ubuntu 22.04 image target.
  2. Create a new Linode using this Stackscript. If using Cloud Manager, fill in the UDF variables including a valid Linode API token. If using the API to create your instance insert UDF variables with your API call. Total install time varies, but is typically 15-30 minutes. Your winode will reboot several times as part of the install process. If installing Windows 11 you must provide your own valid ISO download URL. You may get a new URL by going to (https://www.microsoft.com/en-us/software-download/windows11). Note that URLs are valid for 24 hours and then must be updated again. Alternatively you may download your own copy and self-host it for future installs should you have a right to do so.

Instance Requirements

  • Windows Server instances will run on a Nanode with 1GB of RAM (512MB is Microsoft minimum), but performance is very poor.
  • Windows 11 officially requires at least 4GB of RAM.

Screenshots

Screenshot

Screenshot

Screenshot

About

BYO License Windows on Linode

Resources

Stars

23 stars

Watchers

2 watching

Forks

Releases

Packages

Contributors

Languages