<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Miner Ninja</title>
    <description>The latest articles on DEV Community by Miner Ninja (@minerninja).</description>
    <link>https://dev.to/minerninja</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1757881%2Fac4b1074-9001-49aa-b311-1f760127ad07.png</url>
      <title>DEV Community: Miner Ninja</title>
      <link>https://dev.to/minerninja</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/minerninja"/>
    <language>en</language>
    <item>
      <title>Microsoft broke Ctrl+C and Ctrl+V in Excel</title>
      <dc:creator>Miner Ninja</dc:creator>
      <pubDate>Mon, 14 Sep 2026 08:38:49 +0000</pubDate>
      <link>https://dev.to/minerninja/microsoft-broke-ctrlc-and-ctrlv-in-excel-lkl</link>
      <guid>https://dev.to/minerninja/microsoft-broke-ctrlc-and-ctrlv-in-excel-lkl</guid>
      <description>&lt;p&gt;Somewhere inside the September 2026 Office updates, Microsoft shot itself in the foot again. Excel decided that copying and pasting cells was no longer part of its job :)&lt;/p&gt;

&lt;p&gt;The bug is simple. Press Ctrl+C. Select another cell. Press Ctrl+V. Nothing happens. The copied cells keep their moving border. The target cell stays empty. Excel shows no error and gives no warning. Very Windows: quiet, confident, and completely unhelpful.&lt;/p&gt;

&lt;p&gt;Microsoft has confirmed the problem in &lt;strong&gt;KB5002914&lt;/strong&gt;. It can affect Excel 2016, 2019, 2021, and 2024. AutoFill, formula dragging, and number series can also fail.&lt;/p&gt;

&lt;p&gt;Maybe a future Office update will bring back copy and paste. Or maybe Microsoft will call it &lt;strong&gt;Excel Copy/Paste Plus&lt;/strong&gt;, add an AI button, and sell it as a new feature. Until then, here is how to fix the real problem.&lt;/p&gt;

&lt;h2&gt;
  
  
  The good news: the failure is recoverable.
&lt;/h2&gt;

&lt;p&gt;This article covers Windows perpetual/volume Office installations. Test on one machine first, especially if you manage a fleet.&lt;/p&gt;

&lt;h2&gt;
  
  
  Symptoms of issue
&lt;/h2&gt;

&lt;p&gt;The affected machine usually has all or most of these symptoms:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Copying and pasting inside Excel fails silently&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Ctrl+C/Ctrl+V works in Notepad or other applications&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;The copied Excel cells remain selected, but the destination does not change&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Dragging the fill handle does not extend 1, 2, 3, 4... correctly&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Dragging formulas or copying ranges can produce incorrect or missing results&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This distinction matters. If copying fails everywhere, investigate the keyboard, clipboard service, RDP redirection, endpoint protection, or a third-party clipboard manager. If it fails only in Excel, this Office regression is a strong candidate.&lt;/p&gt;

&lt;h2&gt;
  
  
  Confirm the Office installation type
&lt;/h2&gt;

&lt;p&gt;Run PowerShell as Administrator:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight powershell"&gt;&lt;code&gt;&lt;span class="nv"&gt;$paths&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;@(&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="s1"&gt;'HKLM:\SOFTWARE\Microsoft\Office\ClickToRun\Configuration'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="s1"&gt;'HKLM:\SOFTWARE\WOW6432Node\Microsoft\Office\ClickToRun\Configuration'&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt;

&lt;/span&gt;&lt;span class="nv"&gt;$paths&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;|&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Where-Object&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Test-Path&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="bp"&gt;$_&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;|&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;ForEach-Object&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="n"&gt;Get-ItemProperty&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="bp"&gt;$_&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;|&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="n"&gt;Select-Object&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;ProductReleaseIds&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;VersionToReport&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;Platform&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;ClientFolder&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Typical output:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;ProductReleaseIds : Standard2021Volume
VersionToReport   : 16.0.14334.20914
Platform          : x64
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;If this returns nothing, the Office installation may be MSI-based. Check installed products instead:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight powershell"&gt;&lt;code&gt;&lt;span class="n"&gt;Get-ItemProperty&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="se"&gt;`
&lt;/span&gt;&lt;span class="w"&gt;  &lt;/span&gt;&lt;span class="s1"&gt;'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\*'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="s1"&gt;'HKLM:\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\*'&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="se"&gt;`&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nt"&gt;-ErrorAction&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;SilentlyContinue&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;|&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="n"&gt;Where-Object&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="bp"&gt;$_&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;DisplayName&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;-match&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s1"&gt;'Microsoft Office|Microsoft 365'&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;|&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="n"&gt;Select-Object&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;DisplayName&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;DisplayVersion&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Recovery option 1: Office 2016 MSI
&lt;/h2&gt;

&lt;p&gt;For the MSI edition of Office 2016, the offending Excel security update is &lt;strong&gt;KB5002914&lt;/strong&gt;. Its removal restored normal copy/paste behaviour in affected installations.&lt;/p&gt;

&lt;p&gt;First verify that the update is present in installed programs, or that &lt;strong&gt;EXCEL.EXE&lt;/strong&gt; is the affected build. Then remove &lt;strong&gt;KB5002914&lt;/strong&gt; by using &lt;strong&gt;Settings → Apps → Installed apps&lt;/strong&gt; (or &lt;strong&gt;Control Panel → Programs and Features → View installed updates&lt;/strong&gt;).&lt;/p&gt;

&lt;p&gt;After removal, reboot and test Excel again.&lt;/p&gt;

&lt;p&gt;Do not blindly uninstall Windows cumulative updates. KB5002914 is the Office/Excel update; it is not the same thing as a Windows LCU.&lt;/p&gt;

&lt;h2&gt;
  
  
  Recovery option 2: Click-to-Run Office 2019, 2021, or 2024
&lt;/h2&gt;

&lt;p&gt;Click-to-Run Office does not let you uninstall one individual Office patch. The usual remedy is to move the entire Office installation to the last known-good build.&lt;/p&gt;

&lt;p&gt;The following target builds were the pre-incident Volume Licensed builds:&lt;/p&gt;

&lt;p&gt;Product:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Office 2019 Volume - 16.0.10417.20197
Office LTSC 2021 Volume - 16.0.14334.20848
Office LTSC 2024 Volume - 16.0.17932.20910
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Microsoft documents the supported Office Deployment Tool (ODT) method for reverting Click-to-Run Office. If you are managing a large environment, use ODT, Group Policy, or your endpoint-management platform rather than improvising a different build number at 2 AM. Future-you deserves at least that much respect.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;A practical automation script&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;For small and medium environments, I published a PowerShell helper that:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;detects Office 2019/2021/2024 Volume Click-to-Run editions;&lt;/li&gt;
&lt;li&gt;detects the Office 2016 MSI case;&lt;/li&gt;
&lt;li&gt;sets the appropriate approved target build for Click-to-Run;&lt;/li&gt;
&lt;li&gt;starts the installed Office Click-to-Run client;&lt;/li&gt;
&lt;li&gt;waits for the expected build and stops on unsupported products.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;GitHUB Repository: &lt;a href="https://github.com/Miner-Ninja/Excel-CopyPaste-Issue-Fixer" rel="noopener noreferrer"&gt;Excel-CopyPaste-Issue-Fixer&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Replace that URL with your real repository URL before publishing this post.&lt;/p&gt;

&lt;p&gt;Run it from an elevated PowerShell window:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight powershell"&gt;&lt;code&gt;&lt;span class="n"&gt;powershell.exe&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;-NoProfile&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;-ExecutionPolicy&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;Bypass&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;-File&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s1"&gt;'.\Excel-CopyPaste-Issue-Fixer.ps1'&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;-ExecutionPolicy Bypass&lt;/strong&gt; applies only to that PowerShell process. It does not permanently loosen the machine's execution-policy setting.&lt;/p&gt;

&lt;p&gt;Stop the bad update from returning&lt;/p&gt;

&lt;p&gt;Fixing one PC is pleasant. Fixing it again the next morning because the same package redeployed is performance art.&lt;/p&gt;

&lt;p&gt;In your patch-management product, temporarily exclude the exact package that upgraded the affected Office family. Search for the version/build reported by the affected endpoint and create an Ignore/Exclude rule for that package. Examples from this incident include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;KB5002914 for Office 2016 MSI;&lt;/li&gt;
&lt;li&gt;Office 2019 package containing build 10417.20207;&lt;/li&gt;
&lt;li&gt;Office 2021 package containing build 14334.20906 or the later affected deployment build observed in your estate;&lt;/li&gt;
&lt;li&gt;Office 2024 package containing build 17932.20976&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Use the &lt;strong&gt;exact package name shown in your own patch console&lt;/strong&gt;, not only the examples above. Packaging labels vary between patch vendors.&lt;/p&gt;

&lt;p&gt;Keep the exclusion temporary. This was a security update, and rolling back means accepting a security trade-off until Microsoft publishes a corrected update. Monitor the official KB and Office release notes, test the replacement on a pilot machine, then remove the exclusion.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Verification checklist&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;After the rollback and reboot:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Confirm the Office build:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight powershell"&gt;&lt;code&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;Get-ItemProperty&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s1"&gt;'HKLM:\SOFTWARE\Microsoft\Office\ClickToRun\Configuration'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;VersionToReport&lt;/span&gt;&lt;span class="w"&gt;

&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;&lt;p&gt;In Excel, type 1 and 2 in adjacent cells, select both, and drag the fill handle down.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Copy a cell containing a formula and paste it elsewhere.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Copy/paste a range within the same worksheet and into another workbook.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Confirm that Ctrl+C/Ctrl+V still works in Notepad, because at this point we are allowed one boring control test.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;References&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://support.microsoft.com/en-us/servicing/office/hotfix/excel/5002914" rel="noopener noreferrer"&gt;Microsoft: KB5002914 — Excel security update and known issue&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.microsoft.com/en-us/topic/how-to-revert-to-an-earlier-version-of-office-2bd5c457-a917-d57e-35a1-f709e3dda841" rel="noopener noreferrer"&gt;Microsoft: Revert to an earlier version of Office&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://learn.microsoft.com/en-us/officeupdates/microsoft365-apps-security-updates" rel="noopener noreferrer"&gt;Microsoft: Office security update release notes&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Until there is an official repair package, rollback plus a temporary patch exclusion is the least glamorous, most effective answer. Which is, admittedly, a very Windows way to solve a Windows problem.&lt;/p&gt;

</description>
      <category>microsoft</category>
      <category>bughunt</category>
      <category>help</category>
    </item>
    <item>
      <title>Create an Ubuntu Cloud-Init Template on Proxmox: The Command Line Guide</title>
      <dc:creator>Miner Ninja</dc:creator>
      <pubDate>Wed, 28 Aug 2024 14:44:35 +0000</pubDate>
      <link>https://dev.to/minerninja/create-an-ubuntu-cloud-init-template-on-proxmox-the-command-line-guide-5b61</link>
      <guid>https://dev.to/minerninja/create-an-ubuntu-cloud-init-template-on-proxmox-the-command-line-guide-5b61</guid>
      <description>&lt;p&gt;This guide will demonstrate how to create an Ubuntu cloud-init template on Proxmox and set up a virtual machine with Ubuntu Server 24.04 LTS via the command line.&lt;br&gt;
For the latest Ubuntu Cloud images, you can check &lt;a href="https://cloud-images.ubuntu.com/" rel="noopener noreferrer"&gt;Ubuntu Cloud Images&lt;/a&gt;.&lt;br&gt;
All steps in this guide are to be executed on a Proxmox server.&lt;/p&gt;
&lt;h2&gt;
  
  
  Step 1: Prepare the Ubuntu Cloud-init Image
&lt;/h2&gt;
&lt;h4&gt;
  
  
  1.1 Download the Ubuntu Cloud Image:
&lt;/h4&gt;

&lt;p&gt;To download the Ubuntu 24.04 image, use &lt;code&gt;wget&lt;/code&gt; with the appropriate URL and save it to the &lt;code&gt;/var/lib/vz/template/iso/&lt;/code&gt; directory:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;wget &lt;span class="nt"&gt;-P&lt;/span&gt; /var/lib/vz/template/iso/ https://cloud-images.ubuntu.com/daily/server/releases/24.04/release/ubuntu-24.04-server-cloudimg-amd64.img
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;-P&lt;/code&gt; — option tells wget to save the file in the specified directory&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  1.2 Verify that the file was downloaded successfully:
&lt;/h4&gt;

&lt;p&gt;Make sure the file is in the correct directory:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;ls&lt;/span&gt; /var/lib/vz/template/iso/
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;You should see &lt;code&gt;ubuntu-24.04-server-cloudimg-amd64.img&lt;/code&gt; listed in the directory.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 2: Create a Virtual Machine Template in Proxmox
&lt;/h2&gt;

&lt;h4&gt;
  
  
  2.1. Create a new Virtual Machine (VM):
&lt;/h4&gt;

&lt;p&gt;Create a VM with a unique identifier &lt;code&gt;9000&lt;/code&gt; (or any other available ID):&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;qm create 9000 &lt;span class="nt"&gt;--name&lt;/span&gt; &lt;span class="s2"&gt;"ubuntu-cloud-init-template"&lt;/span&gt; &lt;span class="nt"&gt;--memory&lt;/span&gt; 2048 &lt;span class="nt"&gt;--cores&lt;/span&gt; 2 &lt;span class="nt"&gt;--net0&lt;/span&gt; virtio,bridge&lt;span class="o"&gt;=&lt;/span&gt;vmbr0
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;9000&lt;/code&gt; — Unique identifier for the VM.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;--name&lt;/code&gt; — Name of the virtual machine.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;--memory&lt;/code&gt; — Amount of RAM in megabytes.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;--cores&lt;/code&gt; — Number of CPU cores.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;--net0&lt;/code&gt; — Network card configuration (uses &lt;code&gt;virtio&lt;/code&gt; with bridge &lt;code&gt;vmbr0&lt;/code&gt;).&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  2.3 Import the downloaded image into the Proxmox storage
&lt;/h4&gt;

&lt;p&gt;Use &lt;code&gt;qm importdisk&lt;/code&gt; to import the downloaded image into local storage:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;qm importdisk 9000 /var/lib/vz/template/iso/ubuntu-24.04-server-cloudimg-amd64.img local-lvm
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;9000&lt;/code&gt; — ID of the virtual machine.&lt;/li&gt;
&lt;li&gt;Path to the Ubuntu Cloud-init image file.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;local-lvm&lt;/code&gt; — Name of the storage in Proxmox.&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  2.4 Configure the primary disk and VM settings:
&lt;/h4&gt;

&lt;p&gt;Set up the disk using the &lt;code&gt;scsi&lt;/code&gt; type and configure the boot options:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;qm &lt;span class="nb"&gt;set &lt;/span&gt;9000 &lt;span class="nt"&gt;--scsihw&lt;/span&gt; virtio-scsi-pci &lt;span class="nt"&gt;--scsi0&lt;/span&gt; local-lvm:vm-9000-disk-0
qm &lt;span class="nb"&gt;set &lt;/span&gt;9000 &lt;span class="nt"&gt;--boot&lt;/span&gt; c &lt;span class="nt"&gt;--bootdisk&lt;/span&gt; scsi0
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;--scsihw&lt;/code&gt; — Specifies the SCSI controller type (using &lt;code&gt;virtio-scsi-pci&lt;/code&gt;).&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;--scsi0&lt;/code&gt; — Configures the primary disk of the VM.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;--boot c --bootdisk scsi0&lt;/code&gt; — Sets the VM to boot from the primary disk.&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  2.5. Add a Cloud-init disk:
&lt;/h4&gt;

&lt;p&gt;Add a Cloud-init disk to the VM:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;   qm &lt;span class="nb"&gt;set &lt;/span&gt;9000 &lt;span class="nt"&gt;--ide2&lt;/span&gt; local-lvm:cloudinit
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;--ide2&lt;/code&gt; — Specifies that the disk will be attached as an IDE device.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;local-lvm:cloudinit&lt;/code&gt; — Specifies the storage and type of the disk.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Step 3: Configure Cloud-init
&lt;/h2&gt;

&lt;p&gt;Configure Cloud-init settings such as user, password, and SSH key:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;   qm &lt;span class="nb"&gt;set &lt;/span&gt;9000 &lt;span class="nt"&gt;--ipconfig0&lt;/span&gt; &lt;span class="nv"&gt;ip&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;dhcp
   qm &lt;span class="nb"&gt;set &lt;/span&gt;9000 &lt;span class="nt"&gt;--ciuser&lt;/span&gt; ubuntu &lt;span class="nt"&gt;--cipassword&lt;/span&gt; &lt;span class="s1"&gt;'yourpassword'&lt;/span&gt;
   qm &lt;span class="nb"&gt;set &lt;/span&gt;9000 &lt;span class="nt"&gt;--sshkey&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="si"&gt;$(&lt;/span&gt;&lt;span class="nb"&gt;cat&lt;/span&gt; ~/.ssh/id_rsa.pub&lt;span class="si"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;--ipconfig0 ip=dhcp&lt;/code&gt; — Configures the IP to be assigned via DHCP.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;--ciuser&lt;/code&gt; — Specifies the Cloud-init username.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;--cipassword&lt;/code&gt; — Sets the password for the user (replace &lt;code&gt;'yourpassword'&lt;/code&gt; with your desired password).&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;--sshkey&lt;/code&gt; — Adds an SSH key for the user (the contents of the public key from &lt;code&gt;~/.ssh/id_rsa.pub&lt;/code&gt;).&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Step 4: Save the Template
&lt;/h2&gt;

&lt;p&gt;Convert the VM to a template:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;   qm template 9000
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Step 5: Use the Template to Create New Virtual Machines
&lt;/h2&gt;

&lt;h4&gt;
  
  
  5.1 Clone the template to create a new VM:
&lt;/h4&gt;

&lt;p&gt;Create a new VM from the template:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;   qm clone 9000 201 &lt;span class="nt"&gt;--name&lt;/span&gt; &lt;span class="s2"&gt;"new-ubuntu-vm"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;100&lt;/code&gt; — Unique ID for the new VM.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;--name&lt;/code&gt; — Name of the new virtual machine.&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  5.2 Configure the new VM (if needed):
&lt;/h4&gt;

&lt;p&gt;You can modify settings for the new VM, such as memory size and the number of cores:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;   qm &lt;span class="nb"&gt;set &lt;/span&gt;201 &lt;span class="nt"&gt;--memory&lt;/span&gt; 4096 &lt;span class="nt"&gt;--cores&lt;/span&gt; 4
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h4&gt;
  
  
  5.3 Start the new VM:
&lt;/h4&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;   qm start 201
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;Now you have an guide for creating a virtual machine using the Ubuntu 24.04 Cloud-init image. This process allows you to quickly and conveniently deploy new virtual machines with minimal effort using the Proxmox command line.&lt;/p&gt;

</description>
      <category>proxmox</category>
      <category>ubuntu</category>
      <category>cloudinit</category>
      <category>cli</category>
    </item>
  </channel>
</rss>
