diff --git a/blog/img/0xcferror.png b/blog/img/0xcferror.png new file mode 100644 index 0000000..d5c4519 Binary files /dev/null and b/blog/img/0xcferror.png differ diff --git a/blog/img/adbsod.png b/blog/img/adbsod.png new file mode 100644 index 0000000..afa571d Binary files /dev/null and b/blog/img/adbsod.png differ diff --git a/blog/img/czillasdb.png b/blog/img/czillasdb.png new file mode 100644 index 0000000..151fd7b Binary files /dev/null and b/blog/img/czillasdb.png differ diff --git a/blog/img/dismnoimage.png b/blog/img/dismnoimage.png new file mode 100644 index 0000000..1c1c124 Binary files /dev/null and b/blog/img/dismnoimage.png differ diff --git a/blog/img/filecopy.jpg b/blog/img/filecopy.jpg new file mode 100644 index 0000000..4d57374 Binary files /dev/null and b/blog/img/filecopy.jpg differ diff --git a/blog/img/pagefilecp.png b/blog/img/pagefilecp.png new file mode 100644 index 0000000..63bcbfe Binary files /dev/null and b/blog/img/pagefilecp.png differ diff --git a/blog/img/srv2008boot.png b/blog/img/srv2008boot.png new file mode 100644 index 0000000..22459c1 Binary files /dev/null and b/blog/img/srv2008boot.png differ diff --git a/blog/img/svrbootloader.png b/blog/img/svrbootloader.png new file mode 100644 index 0000000..ac8aeaa Binary files /dev/null and b/blog/img/svrbootloader.png differ diff --git a/blog/img/tngsvrdsrmlogon.png b/blog/img/tngsvrdsrmlogon.png new file mode 100644 index 0000000..c32c19e Binary files /dev/null and b/blog/img/tngsvrdsrmlogon.png differ diff --git a/blog/img/wdfldrsyserror.jpg b/blog/img/wdfldrsyserror.jpg new file mode 100644 index 0000000..96b2f6d Binary files /dev/null and b/blog/img/wdfldrsyserror.jpg differ diff --git a/blog/img/workingbackuprestore.png b/blog/img/workingbackuprestore.png new file mode 100644 index 0000000..359b822 Binary files /dev/null and b/blog/img/workingbackuprestore.png differ diff --git a/blog/index.html b/blog/index.html new file mode 100644 index 0000000..4195cd3 --- /dev/null +++ b/blog/index.html @@ -0,0 +1,35 @@ + + + + iRaven - Blog + + + + + + + +
+ + +
+

Tech and Tinkering Public Blog

+
+ +

This will be organized and revised over time- however stay tuned, more content is coming :)

+
+ (01/23/23)- that moment when you blow up a critical domain controller because you can't read +
+ (11/25/21)- Revisiting the iBook G4 Running Mac OS 9 (Unofficially) + + +
+ + \ No newline at end of file diff --git a/blog/posts/ibookg4os9hack.html b/blog/posts/ibookg4os9hack.html new file mode 100644 index 0000000..8ca2579 --- /dev/null +++ b/blog/posts/ibookg4os9hack.html @@ -0,0 +1,66 @@ + + + + + iR Blog (11/25/21): iBook G4 running Mac OS 9 (Unofficially) + + + + + + +

iBook G4 running Mac OS 9 (Unofficially)

+

11/25/21

+
+ + So, decided to start off this public random blog with this, neat. + Crossing my fingers if this formats correctly too. If it doesn't, fuck shit in a dick. (Spoiler alert, it didn't. :()) +

+ I was contacted by a viewer of a video on my channel (about running Mac OS 9 on my iBook), as they wanted to do the same. +

+ Heeeere comes the context though- the video on my channel was published in 2019- The video was recorded in November 2017. Halp. +

+ Obviously having no clue on how to do this off the top of my head, and there being no official guide (as results on different systems are mixed), I had to go through older bookmarks I saved in 2017. +

+ This whole ordeal is trial-error, there isn't any official guides for a reason. My research involved a lot of commands/tinkering on forum posts on respective forums MacOS9Lives!, ThinkClassic, and 68kmla. +

+ With no modifications, inserting an OS9 install CD (Unsupported G4s version is preferred- find it on MacOS9Lives.) into the machine results in it appearing in Startup Manager, however upon booting to no avail - a grey screen. This is the normal behavior as iBooks in this era shipped with some OSX version (and was far into OSX at the time). +

+ This is due to it detecting the computer information - model identifier, processor type, version, etc. and Mac OS 9 was last developed in 2002- when iBook G4s were produced in 2004. It's incompatible on a hardware level- because of how OS9 is, not the actual hardware itself. +

+ (The G4 chip is leaps and bounds capable of running OS9.) +

+ Open Firmware is your friend in this case and is extensively used. The only required thing to get OS9 to detect a valid system to boot on is to 'derp it' and make it identify falsely equipped with an older PPC G4/chip. +

+ Open Open Firmware (lol) with the key combo Alt, Command, O, and F on startup immediately after the bong. +

+ It should go to a command/terminal interface. My iBook is identified as PowerBook6,5- yours may be different and the following may not apply to you. If you happen to have the same model, eyy 6,5 gang. XD +

+ We're now going to enter nvedit mode- a mode for entering a script of OF commands to be eventually saved in your computer's NVRAM. (If your computer has a dead CMOS battery- replace it, else you're going to have to do the following every. single. time. For the iBooks this doesn't apply.) +

+ Simply type nvedit to enter this mode. Your cursor should jump below the field you just typed on. + Type these commands exactly how they appear on screen: +

+ " /cpus/@0" find-package if drop " /cpus/@0" find-device 80010201 encode-int " cpu-version" property then +

+ " /cpus/@1" find-package if drop " /cpus/@1" find-device 80010201 encode-int " cpu-version" property then +

+ You won't be able to see anything you're typing, have a decent keyboard with you. Or just be careful. +

+ After these commands are entered, press Ctrl + C to exit nvedit mode, then type nvstore to save the above commands in NVRAM. +

+ After that, you need to enable a setting so the script runs on each startup. Type: setenv use-nvramrc? 1 + to enable it. +

+ After that, you should be good to go- make sure your computer has a stable power source and then type reset-all to immediately reboot. +

+ Do whatever method you did before to start up to the OS9 CD. Make sure it's the special patched "Unsupported G4s" version from MacOS9Lives- Normal installation discs won't work without other OF commands. +

+ If happy mac goto success. You should be able to install OS9- with a catch. +

+ Suggestion: The image file it installs on there using ASR (Apple Software Repair/Update) may not work when you boot from the HD- in my experience, copying the contents of the CD to the HD is preferred, and then manually sifting through extensions and control panels (in case any rogue ones get in the way). + +

+ + + diff --git a/blog/posts/messedupdc.html b/blog/posts/messedupdc.html new file mode 100644 index 0000000..4a535a4 --- /dev/null +++ b/blog/posts/messedupdc.html @@ -0,0 +1,92 @@ + + + + + iR Blog (01/23/23): that moment when you blow up a critical domain controller because you can't read + + + + + + +

that moment when you blow up a critical domain controller because you can't read

+

01/23/23

+
+ +

+ Soooo uh, holy crap i haven't updated this blog in quite a long time. blame life stuffs, depression, and more depression. all the depression! :D
+ i've just got a new server that i'm fixing to migrate to, replacing my current (as of now) PowerEdge T310.
+ this requires me to to do a Proxmox migration (not just putting in my existing Proxmox install drive in the new server).
+ this last weekend (as of right now it's tuesday) i was planning to do this migration, with one thing i had to do left... clone a VM.
+
+ back when i set up my current poweredge's proxmox install in Jan. 2022, before then it used to be a normal Windows Server 2008 R2 machine, running everything on there.
+ in hindsight, it was kinda dumb, as that install runs a domain controller, however obviously proxmox had many many advantages with many VMs you can run, with many recommendations from friends.
+ i didn't want to lose that install as it had lots of stuff running that i wanted to keep running (and later migrated to other server VMs, as it's a DC, but was running lots of other services), so the easiest way to set it up in proxmox was to bridge the physical drive of that install to a VM.
+ it worked, and had no problems doing so, other than the fact it was a weird setup compared to all the other VMs that had virtual disk images on a dedicated VM HDD.
+
+ soooo i decided, let's just move this DC VM to a virtual disk image just like the rest- as i've been meaning to since i set it up with the physical drive.
+ i decided to use clonezilla, obviously as it's a fairly straightforward (at least if used in the basic mode... hindsight lol) way to clone a disk/partitions to a target disk. i've used it before on other systems and it's worked fairly well.
+ however in this case, i realize it can't move a bigger disk's (the physical drive) contents to a smaller one (the virtual disk). not too surprised.
+

+ i then search some stuff online, coming across a guide on using clonezilla with a specific argument to clone a partition to a smaller one. obviously, i took note of how much space the OS partition had used up, and sized the virtual disk accordingly.
+ i then do proceed with that.. and while it's prompting me to select the target partition to restore to, i notice it doesn't show an 'sdb' option, which is the virtual disk (compared to the physical drive being /dev/sda.)
+ i get a bit confused but go with the option it shows to target restore to: /dev/sda2, which is the Windows OS partition (where the source partition i picked was System Reserved, for boot files. i figured i'd do this one first.)
+ i then realize while it gives me the prompts that that is the OS partition, and don't think twice, tell it to quick format it. this... broke it. a lot.
+
+ when i reboot and try to boot from the physical drive, i get this error. it's at this moment i knew i fucked up *hard*.
+
+ i immediately mount a Hiren's Boot CD PE iso and start investigating what damage clonezilla (and my dumbassery) did to it.
+ i notice there is *two* System Reserved partitions, one being the actual one, and the other one being what clonezilla copied to my physical drive's other OS partition.
+ oddly enough both partitions were the same size (100 MB) while the fucked up one was also 232GB. *wat*
+ so i then check if the data is still there (obviously), as that's the most important part. thanks to the Hiren PE iso, it has a copy of GetDataBack NTFS, which is the only program i discovered that could help me out with this.
+ (disclaimer: i also have a full working backup of that install from dec, which in hindsight was used, however just using it with no modifications would completely break my AD as i have a second domain controller (replicating from this one, yay Cadance!))
+ after that program scans the entire disk, i can see the file contents that were "deleted" but are still there thanks to forensics and MFT things. i then copy all of it to the virtual disk's "OS" partition which takes forever.
+

+ i then kinda figured it was that simple, as after i copied, i checked the boot files to see if they existed, and did the textbook bootrec /fixmbr /fixboot whatever.
+

+ that... wasn't enough to kickstart it. something else was fucky. XC
+
+ i then investigated the BCD (estencially, bootloader) a little bit more, which got messed up in the process of copying to the virtual drive.
+ unsurprisingly, i saw it contained boot entries for two windows installs, one on the virtual and another on the physical drives. the thing was- the physical drive did not contain a valid OS partition readable by anything (other than forensic tools) anymore. huh.
+
+ i then figured out how to rebuild the bcd completely, using bootrec /rebuildbcd, however that didn't work as it didn't recognize my virtual disk's windows install as valid. i then figured out why- GetDataBack only copied file data and attributes, and *no* security permissions.
+ this is a fucking disaster for windows in the first place as security/ACLs are very important, soooooooo i knew a direct restore from the physical drive's forensics wasn't going to work. to no surprise, no dism commands worked either (in fact, dism gave me errors i couldn't find anything specifically on the web about.
+ i was stumped, so i slept on it.
+

+ i then tried to tweak the bootloader a little more, until the infamous command to create all boot files bcdboot c:\windows /s s: /v ran successfully. i don't know exactly what i did, but it suddenly did that, so i rebooted.
+

+ i get this error complaining it can't load WDFLDR.sys, which i've never seen before. interestingly enough, when i search for this file in the virtual disk OS partition, it's clearly there.
+ i didn't know if it's corrupted or not, but assumed it was (especially with how GDB didn't restore security permissions.)
+
+ i then realize, wait- i can probably restore the known working backup i have of this install, then copy the latest modified files data and attributes via robocopy on another temporary virtual disk with GDB's restored files.
+

+ and so i did that. restoring it from the working backup took forever, but i had a feeling this may or may not work.
+

+ i then used robocopy to copy all the files i could find that are modified, such as logs, AD database (most most important), DNS, certificate authority, user profiles, etc.
+ and then rebuilt the bootloader again, this time with bootrec /rebuildbcd actually recognizing the virtual OS partition and applying necessary changes. looking like we're on the right track.
+ i very anxiously restart out of Hiren to the bootloader. i'm then greeted with this:
+

+ holy fucking *shit* it's actually doing something. (keep in mind, i turned on verbose boot for a reason, so this is normal to see for now.)
+ i then see a cursor, then i didn't realize it randomly rebooted. to no surprise, it crashes and goes in a boot loop. i then get a screenshot of the STOP error:
+

+ for ADDS that is an incredibly weird error to see. it's like required files don't exist. (hindsight!)
+ i then remember DSRM (directory services restore mode) is a thing, which i can use as an alternate safe mode without it bringing online NT domain services (for repair/restore use).
+ so, i go back with a Server 2008 R2 ISO and use cmd to set it like so: bcdedit /store e:\boot\bcd /set {default} safeboot dsrepair
+ what do you know, i see a cursor, expecting it to BSOD... then i see this:
+

+ o m g it's booted successfully for the first time since a few days ago when i nuked it c: then i continued to see what the issue was with ADDS.
+ i then log on, and i notice explorer or anything doesn't come up like safe mode usually does. it definitely felt weird, so i checked task manager, with no signs of it. then i checked cmd.
+

+ why in the fuck are you D:? i thought windows mounted its OS partition as C:??
+ i then research that and find many ways to fix it, including rebuilding the BCD (yet again), or remounting/reattaching drives, both of which i did to no avail at all.
+ i also found a registry tweak published by microsoft, showing how to change the system boot drive letter.
+ so i do this very cautiously knowing it may break things even more or not. i anxiously restart to apply the changes.
+ whatddya know: i see a normal windows boot screen, followed by a normal windows logon screen.
+ i did it.
+ i then try logging on with my domain admin account, and it works without any issue.
+

+ TECHNOLOGSVR is finally restored and i definitely learned a lot while trying to restore it and failing. definitely making *waaaaaaaaaaaay* more often backups from now on, especially as it's my primary domain controller. c:
+ (and i also need to upgrade it or replace it at some point because it still runs 2008 R2 halp)
+

+ + diff --git a/comingsoon.html b/comingsoon.html new file mode 100644 index 0000000..66ee93d --- /dev/null +++ b/comingsoon.html @@ -0,0 +1,14 @@ + + + + + iRaven-Coming Soon! + + +

Coming soon...

+
+ +
+ pooter. + + \ No newline at end of file diff --git a/index.html b/index.html index 22f8321..e0821ef 100644 --- a/index.html +++ b/index.html @@ -2,7 +2,7 @@ @@ -23,8 +22,6 @@
- -

@@ -32,7 +29,7 @@ - About Me (and my horsie) + About Me (and my horsie) OC References Tech and Tinkering Blog diff --git a/siteimg/cd.png b/siteimg/cd.png new file mode 100644 index 0000000..1832422 Binary files /dev/null and b/siteimg/cd.png differ diff --git a/siteimg/chip.png b/siteimg/chip.png new file mode 100644 index 0000000..a3428e6 Binary files /dev/null and b/siteimg/chip.png differ diff --git a/siteimg/monitor_moon.png b/siteimg/monitor_moon.png new file mode 100644 index 0000000..94f774e Binary files /dev/null and b/siteimg/monitor_moon.png differ diff --git a/siteimg/notepad.png b/siteimg/notepad.png new file mode 100644 index 0000000..7afc31c Binary files /dev/null and b/siteimg/notepad.png differ diff --git a/siteimg/pc.png b/siteimg/pc.png new file mode 100644 index 0000000..ce7d5cf Binary files /dev/null and b/siteimg/pc.png differ diff --git a/snowstorm.js b/snowstorm.js index bd390b0..4f10d80 100644 --- a/snowstorm.js +++ b/snowstorm.js @@ -26,7 +26,6 @@ var snowStorm = (function(window, document) { // --- common properties --- this.autoStart = true; // Whether the snow should start automatically or not. - this.excludeMobile = true; // Snow is likely to be bad news for mobile phones' CPUs (and batteries.) Enable at your own risk. this.flakesMax = 128; // Limit total amount of snow made (falling + sticking) this.flakesMaxActive = 64; // Limit amount of snow falling at once (less = lower CPU use) this.animationInterval = 33; // Theoretical "miliseconds per frame" measurement. 20 = fast + smooth, but high CPU use. 50 = more conservative, but slower diff --git a/xeno.js b/xeno.js index 58dff73..5481160 100644 --- a/xeno.js +++ b/xeno.js @@ -14,11 +14,13 @@ var num = Math.floor(Math.random() * (imageArray.length)); const month = new Date().getMonth(); if (month == 5) { // June - LGBTQ+ Pride - console.log("Month is June - LGBTQ+ Pride!") + console.log("Month is June - LGBTQ+ Pride!"); + document.xeno.width = "550"; document.xeno.src = xenoPrideImg; document.xeno.title = "Have proud pansexual hors. - Art by Vivian Reed VA"; } else if (month == 12) { // December - console.log("Month is December - Crimmis") + console.log("Month is December - Crimmis"); + document.xeno.width = "550"; document.xeno.src = xenoXmasImg; document.xeno.title = "Have festive hors. - Art by LimeDazzle"; } else {