<?xml version="1.0"?>
<rss version="2.0">
  <channel>
    <title><![CDATA[LinLog]]></title>
    <link>https://linlog.skepticats.com/</link>
    <description><![CDATA[Linux, Programming, and Computing in General]]></description>
    <lastBuildDate>2026-03-01T13:58:27+00:00</lastBuildDate>
    <managingEditor>pageer@skepticats.com (Peter Geer)</managingEditor>
    <language>en-US</language>
    <generator>https://lnblog.skepticats.com/?v=2.3.1</generator>
    <item>
      <title><![CDATA[Disabling the terminal in vim-ps1]]></title>
      <link>https://linlog.skepticats.com/entries/2026/03/disabling-the-terminal-in-vim-ps1.php</link>
      <description><![CDATA[<p>This is another one of those "note to myself because I can never remember this" posts.&nbsp;</p>
<p>For quite a while, I've been using the <a href="https://github.com/PProvost/vim-ps1">vim-ps1</a> plugin for Powershell syntax highlighting.&nbsp; It's generally fine, but I have one annoyance with it: When I open a Powershell file, the plugin opens a horizontal split with a Powershell terminal in it.&nbsp; That's...fine, but most of the time I don't want that.&nbsp; And the documentation doesn't say anything about it.</p>
<p>Well, fortunately there's a <a href="https://github.com/PProvost/vim-ps1/issues/45#issuecomment-611047850">resolved Github issue</a> with the answer.&nbsp; Turns out the issue isn't actually with vim-ps1, it's with <a href="https://github.com/coc-extensions/coc-powershell">coc-powershell</a>, which actually does mention this issue in the docs.&nbsp; Why the language server is popping up a terminal window isn't clear to me, but the solution is to add this to your coc-settings.json file:<br /><code>"powershell.integratedConsole.showOnStartup": false</code></p>
<p>Easy fix!&nbsp; Unfortunately, I can't check that into my vim-config Git repo because I have my Intelephense license key in that file, so I need to document it someplace else.&nbsp; Hence this post.</p>
<p>As an aside, before scouring the web for that answer, I tried asking Claude.&nbsp; That didn't go well.&nbsp; It's first answer was to "look at your Vim config" or try disabling plugins, which was not even remotely useful.&nbsp; When I pointed that I knew there was a setting for this, it asked me where I saw it.&nbsp; If I remembered that, I wouldn't need to ask the AI!&nbsp; At that point, I decided it was easier to do this the old-fashioned way and ended up checking the Github issues and found the solution in a couple of minutes.</p>
<p>Things like that make me appreciate William Bernstein's comments in his <a href="https://www.youtube.com/live/rrU5Qp_yOig?si=W2VdxBMMw3wQOs2N">interview with Rob Berger</a>.&nbsp; When asked about using AI in his writing and research, he said that AI is extremely useful, but it's kind of like having a very dumb graduate assistant.&nbsp; That seems about right to me.&nbsp; Even a dumb grad student is still smart enough to get into grad school, so they're capable of doing some very helpful work, but they still have some significant limitations.</p>]]></description>
      <author><![CDATA[pageer@skepticats.com (Peter Geer)]]></author>
      <pubDate>Sun, 01 Mar 2026 13:58:24 +0000</pubDate>
      <category><![CDATA[Note to Self]]></category>
      <category><![CDATA[PowerShell]]></category>
      <category><![CDATA[Vim]]></category>
      <category><![CDATA[AI]]></category>
      <guid isPermalink="true">https://linlog.skepticats.com/entries/2026/03/disabling-the-terminal-in-vim-ps1.php</guid>
      <comments>https://linlog.skepticats.com/entries/2026/03/01_0858/comments/</comments>
    </item>
    <item>
      <title><![CDATA[Using a docker proxy in WSL]]></title>
      <link>https://linlog.skepticats.com/entries/2024/12/using-a-docker-proxy-in-wsl.php</link>
      <description><![CDATA[<p>I recently started working on a web-based project that has some non-standard networking stuff going on in the dev environment.&nbsp; The fix was easy, but took a little searching, hence this post.</p>
<p>The codebase itself is built on Node JS, but I have to run it in WSL.&nbsp; There are various build issues that keep it from building cleanly in Windows and it would be a bit of work to fix that.&nbsp; But it builds just fine under WSL, so it's easier to use that.</p>
<p>The dev setup uses a Docker container running HAProxy.&nbsp; It's set up to proxy the static portion of the website to the shared dev server (which is on the VPN) and direct the traffic for the dynamic part to a local port.&nbsp; So we have a HAProxy running in Docker, the local dev server running in WSL, and the browser running in Windows.</p>
<p>The problem: In the default WSL config, this doesn't work.&nbsp; The proxy to the shared server works just fine.&nbsp; So if I go to <code>wwwlocal.site.com</code>, that works as a proxy to <code>wwwdev.site.com</code>.&nbsp; Perfect!&nbsp; However, <code>wwwlocal.site.com/login</code> is supposed to proxy to <code>localhost:4321</code>, but that results in a 503 error.&nbsp; However, I can go directly to <code>localhost:4321</code> and it works just fine, so this is clearly a networking issue.</p>
<p>The solution was to just add a few lines to my <code>$home\.wslconfig</code> file on Windows.&nbsp; The following lines did the trick:</p>
<p><code>[wsl2]</code><br /><code>networkingMode=mirrored</code><br /><code>dnsTunneling=true</code><br /><code>autoProxy=true</code></p>
<p>You can read more about these settings <a href="https://learn.microsoft.com/en-us/windows/wsl/wsl-config">here</a>.</p>]]></description>
      <author><![CDATA[pageer@skepticats.com (Peter Geer)]]></author>
      <pubDate>Mon, 16 Dec 2024 15:19:54 +0000</pubDate>
      <category><![CDATA[WSL]]></category>
      <category><![CDATA[Windows]]></category>
      <category><![CDATA[Linux]]></category>
      <category><![CDATA[Note to Self]]></category>
      <guid isPermalink="true">https://linlog.skepticats.com/entries/2024/12/using-a-docker-proxy-in-wsl.php</guid>
      <comments>https://linlog.skepticats.com/entries/2024/12/16_1019/comments/</comments>
    </item>
    <item>
      <title><![CDATA[SSH Agent with Powershell]]></title>
      <link>https://linlog.skepticats.com/entries/2023/10/ssh-agent-with-powershell.php</link>
      <description><![CDATA[<p>Another "note to my future self", recoded here for posterity.</p>
<p>Today I finally got around to making SSH agent work in Powershell with Git.&nbsp; For the last year or so, I haven't had to deal with because my work mostly involved writing PHP code inside of WSL.&nbsp; In that scenario, you're essentially using Linux, so <code>ssh-agent</code> works just fine.</p>
<p>But on native Windows with Powershell...not so much.</p>
<p>I mean, sure, I could just use Git BASH.&nbsp; But why would I want to do that?&nbsp; Powershell is awesome, and even if I probably know BASH better, I prefer Powershell.</p>
<p>But it turns out it wasn't all that difficult to get things working in Powershell.&nbsp; There were two pieces to it:</p>
<ol>
<li>Use the right SSH agent (i.e. the one that comes with Git).</li>
<li>Write a Powershell adapter for it.</li>
</ol>
<p>It turns out that there's a Windows service for "OpenSSH Authentication Agent".&nbsp; I'm not entirely sure what installs that, but apparently it's different from the <code>ssh-agent</code> that's installed with the Windows Git package and the <code>ssh-add</code> command from that doesn't seem to talk to it properly.</p>
<p>My solution was to just disable that service and use the plain-old <code>ssh-agent</code> that comes with Git.&nbsp; The only problem with that is that the traditional invocation of <code>eval `ssh-agent`</code> doesn't work in Powershell because it outputs a BASH-formatted script.&nbsp; But that's easily fixed with a couple of regular expressions.&nbsp; So I added this to my Powershell <code>$profile</code>:</p>
<p><code>Set-Alias ssh-agent "$env:ProgramFiles\git\usr\bin\ssh-agent.exe"</code><br /><code>Set-Alias ssh-add "$env:ProgramFiles\git\usr\bin\ssh-add.exe"</code></p>
<p><code># Need to turn off Open SSH Authentication Agent system service,</code><br /><code># then run the ssh-agent from Git.</code><br /><code>function Start-SshAgent {</code><br /><code>&nbsp; &nbsp; $output = (ssh-agent)</code><br /><code>&nbsp; &nbsp; $sock_match = ($output | Select-String -Pattern 'SSH_AUTH_SOCK=(\S+);')</code><br /><code>&nbsp; &nbsp; $sock_path = $sock_match[0].Matches.Groups[1].Value</code><br /><code>&nbsp; &nbsp; $pid_match = ($output | Select-String -Pattern 'SSH_AGENT_PID=(\d+);')</code><br /><code>&nbsp; &nbsp; $agent_pid = $pid_match[0].Matches.Groups[1].Value</code><br /><code>&nbsp; &nbsp; $env:SSH_AUTH_SOCK = $sock_path</code><br /><code>&nbsp; &nbsp; $env:SSH_AGENT_PID = $agent_pid</code><br /><code>&nbsp; &nbsp; Write-Output "Agent pid $agent_pid"</code><br /><code>}</code></p>
<p><code>Start-SshAgent</code></p>
<p>And there we go!&nbsp; Now I can just run ssh-add to add my key and Git picks it up as expected.</p>]]></description>
      <author><![CDATA[pageer@skepticats.com (Peter Geer)]]></author>
      <pubDate>Thu, 19 Oct 2023 17:51:38 +0000</pubDate>
      <category><![CDATA[PowerShell]]></category>
      <category><![CDATA[Git]]></category>
      <category><![CDATA[SSH]]></category>
      <category><![CDATA[Windows]]></category>
      <category><![CDATA[Note to Self]]></category>
      <guid isPermalink="true">https://linlog.skepticats.com/entries/2023/10/ssh-agent-with-powershell.php</guid>
      <comments>https://linlog.skepticats.com/entries/2023/10/19_1351/comments/</comments>
    </item>
    <item>
      <title><![CDATA[Minor WSL GUI annoyance]]></title>
      <link>https://linlog.skepticats.com/entries/2023/07/minor-wsl-gui-annoyance.php</link>
      <description><![CDATA[<p>Minor annoyance: For some reason, WSL GUI windows like to hide themselves.&nbsp; I'm not sure why.</p>
<p>I see this all the time on my Windows 10 work laptop, where I use WSL extensively.&nbsp; It usually happens after my laptop has gone to sleep.&nbsp; I come back in the morning, log in, and all of my open WSL gVim windows are just&nbsp;<em>gone</em>.&nbsp; The processes are still running, they're just not displayed and they're <abbr title="Missing In Action">MIA</abbr> from the Windows taskbar.</p>
<p>Fortunately, this is easily fixed by just starting a new WSL GUI app.&nbsp; So I generally just pop up my Windows Terminal and start a new gVim instance, and then the running instances pop back into existence and they're fine until the system sleeps again.</p>
<p>I have no idea why that happens, nor if it's specific to Windows 10 or anything else.&nbsp; It's just one of those things that's annoying but not a big deal.&nbsp; Rant over.</p>]]></description>
      <author><![CDATA[pageer@skepticats.com (Peter Geer)]]></author>
      <pubDate>Sat, 15 Jul 2023 22:20:04 +0000</pubDate>
      <category><![CDATA[WSL]]></category>
      <category><![CDATA[Windows]]></category>
      <category><![CDATA[Note to Self]]></category>
      <guid isPermalink="true">https://linlog.skepticats.com/entries/2023/07/minor-wsl-gui-annoyance.php</guid>
      <comments>https://linlog.skepticats.com/entries/2023/07/15_1820/comments/</comments>
    </item>
    <item>
      <title><![CDATA[Sometimes WSL needs an update, apparently]]></title>
      <link>https://linlog.skepticats.com/entries/2023/06/sometimes-wsl-needs-an-update-apparently.php</link>
      <description><![CDATA[<p>Note to self: Sometimes, it seems that WSL needs to be updated.&nbsp; I mean, yes, obviously it does.&nbsp; But apparently sometimes Windows updates will break it and you need to manually intervene.</p>
<p>I saw this the other day.&nbsp; At some point,&nbsp;<em>something</em> got updated and when I tried to open a new WSL terminal, it would always fail with the message&nbsp;<code>Error code: Wsl/Service/0x80040326</code>.&nbsp; Oddly enough, the WSL shells and processes I already had running still worked, I just couldn't start any new ones.</p>
<p>Luckily, the fix is pretty simple.&nbsp; You just have to open up a Powershell instance run <code>wsl --update</code> to update WSL and then&nbsp;<code>wsl --shutdown</code> to reboot it.&nbsp; That's it.&nbsp; It's just annoying because that's a manual process - you still need to manually run the update, even if you reboot your computer.</p>]]></description>
      <author><![CDATA[pageer@skepticats.com (Peter Geer)]]></author>
      <pubDate>Thu, 29 Jun 2023 12:35:20 +0000</pubDate>
      <category><![CDATA[Windows]]></category>
      <category><![CDATA[WSL]]></category>
      <category><![CDATA[Note to Self]]></category>
      <guid isPermalink="true">https://linlog.skepticats.com/entries/2023/06/sometimes-wsl-needs-an-update-apparently.php</guid>
      <comments>https://linlog.skepticats.com/entries/2023/06/29_0835/comments/</comments>
    </item>
    <item>
      <title><![CDATA[Nextcloud session annoyances]]></title>
      <link>https://linlog.skepticats.com/entries/2023/02/nextcloud-session-annoyances.php</link>
      <description><![CDATA[<p>This is a note to my future self about an annoyance with <a href="https://nextcloud.com">Nextcloud</a>.&nbsp; If you're not aware of it, Nextcloud is basically a fork of <a href="https://owncloud.com">ownCloud</a>, which is a "self-hosted cloud" platform.&nbsp; Basically, they both provide a bunch of cloud-based services, like file sync and share, calendar, contacts, and various other things.&nbsp; I <a href="https://linlog.skepticats.com/entries/2022/07/finally-switching-to-nextcloud.php">switched to Nextcloud</a> last year because ownCloud was lagging way behind in its support for newer PHP versions.</p>
<p>Anyway, I noticed a rather annoying issue where Nextcloud was leaving hundreds of stale auth tokens in the database.&nbsp; Apparently, I'm not the <a href="https://github.com/nextcloud/server/issues/8720">only</a> <a href="https://forum.cloudron.io/topic/7657/cleaning-up-old-sessions">person</a> this has happened to.</p>
<p>While Nextcloud has a menu item to revoke and remove stale sessions on their settings page, it's on a per-item basis.&nbsp; So if you have&nbsp;<em>hundreds</em> of stale sessions, the only way to remove them is to go through, one by one, and click the menu and select the "revoke" option.&nbsp; Needless to say, this is terrible.</p>
<p>The less annoying solution is to just go straight into the database and delete them there.&nbsp; You can just run something like:<br /><code>DELETE FROM oc_authtoken WHERE last_activity &lt; &lt;whatever_timestamp&gt;;</code><br />That might be ugly, but at least it doesn't take forever.</p>
<p>It's important to note that, in addition to being annoying, this is evidently also a performance problem.&nbsp; From what I've read, it's the reason that authenticating to my Nextcloud instance had gotten absurdly slow.&nbsp; The app responded fine once I was logged in, but the login process itself took <em>forever</em>.&nbsp; It also seems to be the reason why my hosting provider's control panel has been showing I'm&nbsp;<em>way</em> over my allotted MySQL execution time.&nbsp; After deleting all those stale sessions, not only is login nice and snappy again, but my MySQL usage dropped off a ledge.&nbsp; Just look at this graph:</p>
<p><a href="https://linlog.skepticats.com/entries/2023/02/25_1821/2023-02-21T17-16-56-020Z.png"><img src="https://linlog.skepticats.com/entries/2023/02/25_1821/2023-02-21T17-16-56-020Z-med.png" alt="2023-02-21T17-16-56-020Z-med.png" /></a></p>
<p>As you can see, January is a sea of red, and then it drops off to be comfortably under the limit after I deleted the old sessions.&nbsp; The Nextcloud team really needs to fix this issue.</p>]]></description>
      <author><![CDATA[pageer@skepticats.com (Peter Geer)]]></author>
      <pubDate>Sat, 25 Feb 2023 23:21:23 +0000</pubDate>
      <category><![CDATA[Software]]></category>
      <category><![CDATA[PHP]]></category>
      <category><![CDATA[Note to Self]]></category>
      <guid isPermalink="true">https://linlog.skepticats.com/entries/2023/02/nextcloud-session-annoyances.php</guid>
      <comments>https://linlog.skepticats.com/entries/2023/02/25_1821/comments/</comments>
    </item>
    <item>
      <title><![CDATA[Non-standard project setup with CoC and Pyright]]></title>
      <link>https://linlog.skepticats.com/entries/2021/12/non-standard-project-setup-with-coc-and-pyright.php</link>
      <description><![CDATA[<p>Here's a quick little thing that I'll probably need to remember and might be useful to other.</p>
<p>At work, we have a PHP project that has automated integration tests written in Python.&nbsp; The top-level directory of the Git repo is the normal PHP stuff, but the&nbsp;<code>tests/integration/</code> directory is a Python sub-project that uses Poetry and Pytest.</p>
<p>Now, I use Vim as my editor and CoC with Intelliphense and Pyright for my PHp and Pythong language servers.&nbsp; Since the main repo is PHP, Intelliphense works just fine.&nbsp; Hwoever, Pyright needs a little help.&nbsp; In particular, it didn't find the third-party dependencies&nbsp;<em>or</em> the integration test framework packages because it didn't know where to look.</p>
<p>Fortunately, this is easily fixed by creating a&nbsp;<code>pyrightconfig.json</code> file.&nbsp; I was able to create one of those in the top-level directory of the project and add an "execution environment" to tell Pyright where to find the root of the Python project.&nbsp; I set it to the "tests" directory because, while the main dir is <code>tests/integration/</code>,&nbsp; that directory is also a Python module, so using "tests" lets Pyright find the "integration" module.</p>
<p>My particular file looks like this:</p>
<p><code>{<br />&nbsp; &nbsp; "venvPath": "tests/integration",<br />&nbsp; &nbsp; "venv": ".venv",<br />&nbsp; &nbsp; "executionEnvironments": [<br />&nbsp; &nbsp; &nbsp; &nbsp; {<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; "root": "tests<br />&nbsp; &nbsp; &nbsp; &nbsp; }<br />&nbsp; &nbsp; ]<br />}</code><code></code><code></code></p>]]></description>
      <author><![CDATA[pageer@skepticats.com (Peter Geer)]]></author>
      <pubDate>Sat, 11 Dec 2021 23:20:15 +0000</pubDate>
      <category><![CDATA[Python]]></category>
      <category><![CDATA[Vim]]></category>
      <category><![CDATA[Programming]]></category>
      <category><![CDATA[Note to Self]]></category>
      <guid isPermalink="true">https://linlog.skepticats.com/entries/2021/12/non-standard-project-setup-with-coc-and-pyright.php</guid>
      <comments>https://linlog.skepticats.com/entries/2021/12/11_1820/comments/</comments>
    </item>
    <item>
      <title><![CDATA[Composer autoload annoyances]]></title>
      <link>https://linlog.skepticats.com/entries/2021/02/composer-autoload-annoyances.php</link>
      <description><![CDATA[<p>Note to self: Sometimes you need to run <code>composer du -o</code> to make things work.</p>
<p>I'm not entirely sure why.&nbsp; But it's a pain in the butt.</p>
<p>This has come up a couple of times in working on one of our projects for work.&nbsp; This particular one is an internal command-line application written in PHP and using the command-line components from the Symfony framework.&nbsp; I won't get into the details, but the point is that it glues together the various steps required to configure and run certain things on Linux-based servers.&nbsp; So to test it, I have to put the code on my test server and make sure it works there.</p>
<p>The problem that I ran into today was that I tried to add a new command class to the application and it barfed all over itself.&nbsp; The Symfony <abbr title="Dependency Injection">DI</abbr> container complained that it couldn't find a certain class name in a certain file. The PSR-4 autoloader requires that the class name and namespace match the filesystem path, so usually this indicates a typo in one of those.&nbsp; But in this case, everything was fine.&nbsp; The app worked fine on my laptop, and if I deleted the new command, it worked again.</p>
<p>Well, it turns out that running <code>composer du -o</code> fixed it.&nbsp; I suspect, based on the <a href="https://getcomposer.org/doc/articles/autoloader-optimization.md">composer documentation</a>, that the issue was that the class map was being cached by the opcache.&nbsp; The Symfony cache was empty, so that's about the only one left.&nbsp; Unfortunately, this is pretty opaque when it comes to trouble-shooting.&nbsp; I would have expected it to fall back to reading the filesystem, but apparently there's more to it than that.&nbsp; Perhaps it's related to how Symfony collects the commands - I haven't put in the time to investigate it.</p>
<p>But in any case, that's something to look out for.&nbsp; Gotta love those weird errors that give you absolutely no indication of the solution.</p>]]></description>
      <author><![CDATA[pageer@skepticats.com (Peter Geer)]]></author>
      <pubDate>Wed, 10 Feb 2021 00:21:12 +0000</pubDate>
      <category><![CDATA[PHP]]></category>
      <category><![CDATA[Note to Self]]></category>
      <guid isPermalink="true">https://linlog.skepticats.com/entries/2021/02/composer-autoload-annoyances.php</guid>
      <comments>https://linlog.skepticats.com/entries/2021/02/09_1921/comments/</comments>
    </item>
    <item>
      <title><![CDATA[Changing the display manager in Ubuntu]]></title>
      <link>https://linlog.skepticats.com/entries/2020/12/changing-the-display-manager-in-ubuntu.php</link>
      <description><![CDATA[<p>Just as a quick note to my future self, if you want to change the display manager in Ubuntu, you just need to run the following:</p>
<p><code>$ dpkg-reconfigure gdm3<br />$ systemctl restart display-manager.service</code></p>
<p>The reconfigure will bring up a menu that allows you to choose from the installed display managers.&nbsp; There's a nice <a href="http://ubuntuhandbook.org/index.php/2020/07/change-default-display-manager-ubuntu-20-04/">summary with pictures here</a>.</p>
<p>If anyone cares, the context here is that I run Ubuntu 20.04 with the Trinity Desktop Environment on my home destkop/server.&nbsp; The problem is that pretty much every time I run an upgrade on that box it resets the display manager from TDM back to the default GDM.&nbsp;</p>
<p>This is actually a really big problem because GDM doesn't work on this box.&nbsp; Aside from the disk drives, most of the hardware in this box is about 10 years old.&nbsp; So the video card is sufficiently archaic that GNOME just can't deal with.&nbsp; When I try to log into GNOME or even just use GDM, I end up with massive display corruption and the desktop is basically unusable.&nbsp;&nbsp;</p>
<p>One of these days, I should really replace that computer.&nbsp; Or maybe rebuild it.&nbsp; Or possibly just relegate it to purely headless server duty and get a different box to use as a desktop.&nbsp; One day....</p>]]></description>
      <author><![CDATA[pageer@skepticats.com (Peter Geer)]]></author>
      <pubDate>Sat, 12 Dec 2020 23:20:59 +0000</pubDate>
      <category><![CDATA[Ubuntu]]></category>
      <category><![CDATA[KDE]]></category>
      <category><![CDATA[Note to Self]]></category>
      <guid isPermalink="true">https://linlog.skepticats.com/entries/2020/12/changing-the-display-manager-in-ubuntu.php</guid>
      <comments>https://linlog.skepticats.com/entries/2020/12/12_1820/comments/</comments>
    </item>
    <item>
      <title><![CDATA[USB drive repair]]></title>
      <link>https://linlog.skepticats.com/entries/2020/08/USB_drive_repair.php</link>
      <description><![CDATA[<p>This week, a note to my future self: undoing a USB drive that was flashed with a bootable image is a pain in the neck.</p>
<p>This week my wife wanted a USB thumb drive so she could take some documents to her mother's house and print them out using her printer, because ours is a pain in the neck and it's out of ink.&nbsp; Well, the good news is that I had two drives handy!&nbsp; The bad news is that neither of them did anything when I plugged them into her computer.</p>
<p>Of course, it turns out that, at some point, I'd used both of these as bootable drives for a something Linux-based.&nbsp; This means, of course, that Windows can't read the partitions, so it can't write files to them.&nbsp; In fact, when I plugged the drives in, nothing happened - they didn't even show up in Explorer.&nbsp; So I had to fix them.</p>
<p>Well, the first one was pretty easy.&nbsp; I just used the "Disk Management" console (a.k.a. <code>diskmgmt.msc</code>).&nbsp; Using that, I was able to see the disk and it's partitions.&nbsp; It was then a simple matter of deleting the existing partitions, creating a new one, and formatting it.&nbsp; Then Windows found the drive just fine.</p>
<p>That didn't work so well for the second disk.&nbsp; The drive showed up with an EFI partition and a lot of unallocated space.&nbsp; I tried to create a partition in that space, but it didn't work.&nbsp; So I eventually ended up downloading <a href="https://rufus.ie">Rufus</a>.&nbsp; This is a handy tool that I've used in the past to image USB drives with ISO images.&nbsp; Well, it can also do a plain-old reformat of a drive.&nbsp; I just selected "unbootable" for the boot image, GPT for the partition type, and told it to format.&nbsp; Rufus successfully blew away the entire drive and gave me back a fresh, working USB drive.</p>
<p>So the process wasn't too bad.&nbsp; It's just a matter of realizing what's going on and getting an appropriate tool to fix it.</p>]]></description>
      <author><![CDATA[pageer@skepticats.com (Peter Geer)]]></author>
      <pubDate>Sat, 29 Aug 2020 21:08:23 +0000</pubDate>
      <category><![CDATA[Hardware]]></category>
      <category><![CDATA[Windows]]></category>
      <category><![CDATA[Note to Self]]></category>
      <guid isPermalink="true">https://linlog.skepticats.com/entries/2020/08/USB_drive_repair.php</guid>
      <comments>https://linlog.skepticats.com/entries/2020/08/29_1708/comments/</comments>
    </item>
  </channel>
</rss>
