Saturday, October 24, 2026

Windows: fix boot manager after downgrade windows 11 to windows 10 on HP 15-AF109AX

Symptom: windows boot show 2 option, windows 10 and windows recovery

Assume: partition windows 11 has been replace with windows 10. 

i used these steps to downgrade win 11 to win 10 (fresh install)

  1. use gparted to delete drive c windows 11, resize esp partition from 100mb to 300mb (dual boot Debian), 
  2. use original iso dvd to install Windows 10.

Find windows recovery / old windows i.e. windows 11

C:\Windows\system32>bcdedit /enum

Windows Boot Manager
--------------------
identifier              {bootmgr}
device                  partition=\Device\HarddiskVolume2
path                    \EFI\Microsoft\Boot\bootmgfw.efi
description             Windows Boot Manager
locale                  en-US
inherit                 {globalsettings}
default                 {current}
resumeobject            {b9a24d5c-cf4c-11f1-88b8-fa1143ace85b}
displayorder            {current}
                        {7c1da856-b085-11ec-bcd2-a47027794018}
toolsdisplayorder       {memdiag}
timeout                 30

Windows Boot Loader
-------------------
identifier              {current}
device                  partition=C:
path                    \Windows\system32\winload.efi
description             Windows 10
locale                  en-US
inherit                 {bootloadersettings}
recoverysequence        {b9a24d5e-cf4c-11f1-88b8-fa1143ace85b}
displaymessageoverride  Recovery
recoveryenabled         Yes
isolatedcontext         Yes
allowedinmemorysettings 0x15000075
osdevice                partition=C:
systemroot              \Windows
resumeobject            {b9a24d5c-cf4c-11f1-88b8-fa1143ace85b}
nx                      OptIn
bootmenupolicy          Standard

Windows Boot Loader
-------------------
identifier              {7c1da856-b085-11ec-bcd2-a47027794018}
device                  unknown <-----------------------------------
path                    \WINDOWS\system32\winload.efi
description             Windows 10
locale                  en-US
inherit                 {bootloadersettings}
recoverysequence        {7c1da857-b085-11ec-bcd2-a47027794018}
displaymessageoverride  Recovery
recoveryenabled         Yes
isolatedcontext         Yes
allowedinmemorysettings 0x15000075
osdevice                unknown
systemroot              \WINDOWS
resumeobject            {7c1da855-b085-11ec-bcd2-a47027794018}
nx                      OptIn
bootmenupolicy          Standard

Remove  windows recovery / old windows 

C:\Windows\system32>bcdedit /delete {7c1da856-b085-11ec-bcd2-a47027794018}
The operation completed successfully.

Restart your laptop to test it.

We dont want windows 10 upgrading to windows 11

  1. open regedit (run->regedit)
  2. go to HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows 
  3. create a new key WindowsUpdate if not exist
  4. at right side create these values:
    • ProductVersion -> String Value -> Windows 10
    • TargetReleaseVersionInfo -> String Value -> 22H2
    • TargetReleaseVersion -> DWORD (32-bit) -> 1

 or copy this to notepad and save as no_win11.reg

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate]
"TargetReleaseVersion"=dword:00000001
"ProductVersion"="Windows 10"
"TargetReleaseVersionInfo"="22H2"

then right click to file and merge 

Tuesday, October 20, 2026

Debian 13: in dual boot, grub update can not fix debian boot

Go into windows and open cmd with administrator 

C:\Windows\System32>bcdedit /enum all

Firmware Boot Manager
---------------------
identifier              {fwbootmgr}
displayorder            {bootmgr}
                        {e074b9af-824b-11f1-806d-806e6f6e6963}
                        {3923b543-cc0a-11f1-9907-806e6f6e6963}
timeout                 1

Windows Boot Manager
--------------------
identifier              {bootmgr}
device                  partition=\Device\HarddiskVolume2
path                    \EFI\Microsoft\Boot\bootmgfw.efi
description             Windows Boot Manager
locale                  id-ID
inherit                 {globalsettings}
default                 {current}
resumeobject            {d5b4c214-c5eb-11f0-b9cc-bfd3f4d1aeed}
displayorder            {current}
toolsdisplayorder       {memdiag}
timeout                 30

Firmware Application (101fffff)
-------------------------------
identifier              {3923b543-cc0a-11f1-9907-806e6f6e6963}
device                  partition=\Device\HarddiskVolume2
path                    \EFI\debian\shimx64.efi
description             debian

Firmware Application (101fffff)
-------------------------------
identifier              {e074b9af-824b-11f1-806d-806e6f6e6963}
device                  partition=\Device\HarddiskVolume2
path                    \EFI\RECOVERY\BOOT\BOOTMGFW.EFI
description             Windows Boot Manager
....

run

C:\Windows\System32>bcdedit /set {fwbootmgr} displayorder {3923b543-cc0a-11f1-9907-806e6f6e6963} {bootmgr} {e074b9af-824b-11f1-806d-806e6f6e6963}
The operation completed successfully. 

confirm boot order

C:\Windows\System32>bcdedit /enum all

Firmware Boot Manager
---------------------
identifier              {fwbootmgr}
displayorder            {3923b543-cc0a-11f1-9907-806e6f6e6963}
                        {bootmgr}
                        {e074b9af-824b-11f1-806d-806e6f6e6963}
timeout                 1

Windows Boot Manager
--------------------
identifier              {bootmgr}
device                  partition=\Device\HarddiskVolume2
path                    \EFI\Microsoft\Boot\bootmgfw.efi
description             Windows Boot Manager
locale                  id-ID
inherit                 {globalsettings}
default                 {current}
resumeobject            {d5b4c214-c5eb-11f0-b9cc-bfd3f4d1aeed}
displayorder            {current}
toolsdisplayorder       {memdiag}
timeout                 30

Firmware Application (101fffff)
-------------------------------
identifier              {3923b543-cc0a-11f1-9907-806e6f6e6963}
device                  partition=\Device\HarddiskVolume2
path                    \EFI\debian\shimx64.efi
description             debian

Firmware Application (101fffff)
-------------------------------
identifier              {e074b9af-824b-11f1-806d-806e6f6e6963}
device                  partition=\Device\HarddiskVolume2
path                    \EFI\RECOVERY\BOOT\BOOTMGFW.EFI
description             Windows Boot Manager
... 

Restart your computer.

Last option, change boot order from Bios (depends on vendor) 

Bios -> Boot NVME Drive BBS Priorities  

Monday, October 19, 2026

windows 11: find esp partition free space

use cmd or powershell and use disk part to mount esp partition

C:\Windows\System32>diskpart

Microsoft DiskPart version 10.0.26100.1150

find which is esp partition

DISKPART> list volume

  Volume ###  Ltr  Label        Fs     Type        Size     Status     Info
  ----------  ---  -----------  -----  ----------  -------  ---------  --------
  Volume 0     C   Windows_Bon  NTFS   Partition    137 GB  Healthy    Boot
  Volume 1     D   Data_Boni    NTFS   Partition     20 GB  Healthy
  Volume 2         SYSTEM       FAT32  Partition    100 MB  Healthy    System
  Volume 3         Recovery     NTFS   Partition   1001 MB  Healthy    Hidden

select volume, it is volume 2 

DISKPART> select volume 2

Volume 2 is the selected volume. 

assign drive letter for volume 2

DISKPART> assign letter=z

DiskPart successfully assigned the drive letter or mount point.

exit, and run command dir z: and at the it will show free space ",,,,,  bytes free"

Don't forget to remove drive letter, replace assign letter=z to  remove letter=z

 

Wednesday, October 14, 2026

Debian 13: jakarta tomcat create servlet using Netbeans

This steps use Netbeans version 31.

to create tomcat apache project in netbeans follow these steps:

  1. open your netbeans
  2. File -> New Project -> java with Maven -> Web Application
  3. fill "Project Name" e.g. My Servlet
  4. in New Web Application -> Server click Add
  5. select Apache Tomcat or TomEE
  6. select your jakarta tomcat directory
  7. fill username and password from tomcat-users.xml file which is has rule rolename="manager-gui"
  8. Finish will return to New Web Application, then Finish 

to create a new servlet

  1. From your project -> Source Packages -> <package_name>. MyServlet, right click and create New -> Servlet
  2. Class Name: HelloWorld, then next
  3. Servlet Name: My Servlet
  4. URL Pattern: /HelloWorkd
  5. This will create default response
  6. run from your netbeans, and your HelloWorld will appear in browser with url http://localhost:8080/MyServlet/HelloWorld

now, we add mariadb into our project, edit Project Files -> pom.xml

     <dependencies>
        ....
        <!-- MariaDB JDBC driver -->
        <dependency>
            <groupId>org.mariadb.jdbc</groupId>
            <artifactId>mariadb-java-client</artifactId>
            <version>3.5.10</version>
        </dependency>
    </dependencies>

now edit HelloWorld.java

    protected void processRequest(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        response.setContentType("text/html;charset=UTF-8");
        try (PrintWriter out = response.getWriter()) {
            /* TODO output your page here. You may use following sample code. */
            out.println("<!DOCTYPE html>");
            out.println("<html>");
            out.println("<head>");
            out.println("<title>Servlet HelloWorld </title>");
            out.println("</head>");
            out.println("<body>");
            out.println("<h1>Servlet HelloWorld at " + request.getContextPath() + " 0261015</h1>");
            
            // connect to db
            out.println("<p>connecting to mariadb</p>");
            
            try {
                Class.forName("org.mariadb.jdbc.Driver");
                out.println("<p>MariaDB JDBC driver FOUND</p>");
                
                try (java.sql.Connection conn =
                        java.sql.DriverManager.getConnection(
                            "jdbc:mariadb://localhost:3306/<db_name>",
                            "<db_user>",
                            "<db_password>")) {

                    out.println("<p>MariaDB CONNECTION SUCCESSFUL</p>");
                    out.println("<p>Database: "
                            + conn.getCatalog() + "</p>");
                } catch (SQLException ex) {
                    out.println("<p>Error"+ex.getMessage()+"</p>");
                }
                
            } catch (ClassNotFoundException e) {
                out.println("<p>MariaDB JDBC driver NOT FOUND</p>");
            }
            
            out.println("</body>");
            out.println("</html>");
        }
    }

run your servlet.

if no error found, you may start writing your application.  

hint: use any ai to find error in your code, copy paste code and error. but Do Not rely on it, use your instinct to fix your code, ai may made mistake.  

Monday, September 28, 2026

Cara daftar ke poliklinik RSCM dengan aplikasi RSCMku

Asumsi aplikasi RSCMku telah aktif. 

caranya

Masuk ke menu "Perjanjian Online"

lengkapi cara pembayaran, poliklinik rawat jalan, dan dokternya.

setelah terbuat, tunggu sampai hari H. Asumsi janji dengan dokter jam 14.

Datang ke Pelayanan Rawat Jalan RSCM jam 14:30 . 

validasi sidik jari di vending mesin yang tersedia.

15 menit sebelum jam 14, melalui aplikasi, anda dapat melakukan checkin. alternatif, 15 menit sebelum jam 14, lakukan checkin di vending mesin yang tersedia.

anda tunggu panggilan di poliklinik yang amda tuju.

Semoga lekas sembuh ❤️