Unable to access GRUB in Win10/Ubuntu18.04 legacy dual boot

I’ve installed Windows 10 Pro & Ubuntu 18.04 on primary partitions on a Dell Opti-Plex 7010. I made sure to use legacy BIOS for OS installations on account of having partitioned the hard drive using Ubuntu Live’s GParted (MBR). After finishing the Ubuntu installation the PC doesn’t enter GRUB when booting, it just boots Windows. I think I created the 18.04 bootable USB about a year ago from 16.04, I don’t quite remember the settings (if there were any). I don’t know if this should make a difference when I installed this attempted dual boot selecting legacy BIOS.

(I tried to tag this question “legacy-bios”, but the tag doesn’t seem to exist.)

Right way to replace legacy system

I’m thinking about rewrite legacy subsystem to golang microservice. But first I need to write some acceptance tests.

In my opinion, the process should look something like this:

  1. Write acceptance tests
  2. Run it on legacy system
  3. Write microservice and make sure that the tests pass

What are the solutions and best practices in the golang ecosystem?

I am planning to dual boot my computer with Windows 10 and Ubuntu on Legacy mode

which should I use for legacy Rufus or Universal USB installer? Or does it even matter? I had a dual boot system of ubuntu and 8.1 but I fresh installed windows 10(used rufus to create bootable usb selecting MBR not GPT) and the system boots straight to windows (no GRUB menu), so i think my ubuntu was in uefi or something so I am planning to fresh install Ubuntu as well..

I am trying to do some legacy work with 10.04

There is a reason I am using an old version. I am not doing my banking here. It is one project. I got geezer sources to work for terminal update. I am blocked by a nag when I try to use the desktop update manager. I would like to turn that off. I understand that I will not get the security updates.

More frustrating is that the browsers are all failing. I have an IP address, and can get into a simple website like wiki. Anything else gives me:
Secure Connection Failed

An error occurred during a connection to www.openssh.com.

Peer reports incompatible or unsupported protocol version.

(Error code: ssl_error_protocol_version_alert)

The page you are trying to view can not be shown because the authenticity of the received data could not be verified. Please contact the website owners to inform them of this problem. Alternatively, use the command found in the help menu to report this broken site.

This may be because the useragent has a gray beard.

Multisig scripts hashing (p2sh): difference between legacy and segwit

Some time ago I noticed that, given the same inputs, addmultisigaddress and createmultisig Bitcoin core’s methods were generating different p2sh (addresses).

I asked around and a user from the bitcoin dev list told me that this was because:

“addmultisigaddress uses the default address type of the wallet, which is p2sh-segwit and createmultisig uses a default address type of legacy”

An example of this behaviour is:

bitcoin-cli addmultisigaddress 1 '["045897fee25bd7c5692510b2f50fcae9aa20fbc4d49d59814f4c7fdb5c4bc6eb1c0ce382458f9588e922e0d509ed8d34856787380075b00418b02e0bf7c652ef9d","02ac46c6d74d15e60f4f1035ff07ef740aca1d68d55ba0b8d336a73d7a35858831","0224a4dc5620714a9ecf67a09583d1e4c04f5bedb8ecea99028da05bb15a2a7e07"]' {   "address": "36ULucjWUTrDvaJzCyhFoVbDoNS6Zum2Du",   "redeemScript": "5141045897fee25bd7c5692510b2f50fcae9aa20fbc4d49d59814f4c7fdb5c4bc6eb1c0ce382458f9588e922e0d509ed8d34856787380075b00418b02e0bf7c652ef9d2102ac46c6d74d15e60f4f1035ff07ef740aca1d68d55ba0b8d336a73d7a35858831210224a4dc5620714a9ecf67a09583d1e4c04f5bedb8ecea99028da05bb15a2a7e0753ae" }  bitcoin-cli createmultisig 1 '["045897fee25bd7c5692510b2f50fcae9aa20fbc4d49d59814f4c7fdb5c4bc6eb1c0ce382458f9588e922e0d509ed8d34856787380075b00418b02e0bf7c652ef9d","02ac46c6d74d15e60f4f1035ff07ef740aca1d68d55ba0b8d336a73d7a35858831","0224a4dc5620714a9ecf67a09583d1e4c04f5bedb8ecea99028da05bb15a2a7e07"]' {   "address": "3GiimyxF1R5VixfBFAbQZbuy9EesD2r6n1",   "redeemScript": "5141045897fee25bd7c5692510b2f50fcae9aa20fbc4d49d59814f4c7fdb5c4bc6eb1c0ce382458f9588e922e0d509ed8d34856787380075b00418b02e0bf7c652ef9d2102ac46c6d74d15e60f4f1035ff07ef740aca1d68d55ba0b8d336a73d7a35858831210224a4dc5620714a9ecf67a09583d1e4c04f5bedb8ecea99028da05bb15a2a7e0753ae" } 

The point is that, later, I noticed that with certain public keys the two methods generate the same hash:

bitcoin-cli addmultisigaddress 1 '["03fc5e16d0ece343a94735ca467d5812922fcc30e3ce43ceaf3cff7d7617631146","02ea92a0cd1738cef7502e42fe119a322845f8f1a2dd9b7216635e17dd2fffd101","04633794a75bfbd9fb2bc6bd54836831c0916dc27f9ac528045cc9352bb2cc97a003b3a6ae397101d801f3d95e6a153368b939aaf7b27bd3a5bb8a30ed92aac204"]' {   "address": "32AVnYUUSvm4bGgEXoQ2zuFAJBPH4P31Gi",   "redeemScript": "512103fc5e16d0ece343a94735ca467d5812922fcc30e3ce43ceaf3cff7d76176311462102ea92a0cd1738cef7502e42fe119a322845f8f1a2dd9b7216635e17dd2fffd1014104633794a75bfbd9fb2bc6bd54836831c0916dc27f9ac528045cc9352bb2cc97a003b3a6ae397101d801f3d95e6a153368b939aaf7b27bd3a5bb8a30ed92aac20453ae" }  bitcoin-cli createmultisig 1 '["03fc5e16d0ece343a94735ca467d5812922fcc30e3ce43ceaf3cff7d7617631146","02ea92a0cd1738cef7502e42fe119a322845f8f1a2dd9b7216635e17dd2fffd101","04633794a75bfbd9fb2bc6bd54836831c0916dc27f9ac528045cc9352bb2cc97a003b3a6ae397101d801f3d95e6a153368b939aaf7b27bd3a5bb8a30ed92aac204"]' {   "address": "32AVnYUUSvm4bGgEXoQ2zuFAJBPH4P31Gi",   "redeemScript": "512103fc5e16d0ece343a94735ca467d5812922fcc30e3ce43ceaf3cff7d76176311462102ea92a0cd1738cef7502e42fe119a322845f8f1a2dd9b7216635e17dd2fffd1014104633794a75bfbd9fb2bc6bd54836831c0916dc27f9ac528045cc9352bb2cc97a003b3a6ae397101d801f3d95e6a153368b939aaf7b27bd3a5bb8a30ed92aac20453ae" } 

I don’t get how this can be possible if the inputs and the redeem scripts are the same.

What’s the difference between the two cases and in general between a legacy multisig transaction and a segwit one?

Reading raw transactions data from the blockchain, how is possible to know whether a script needs to be hashed using legacy or segwit?

(2010 Macbook on Sierra) White Screen of Death “Legacy Shim 2”

I am fairly confident this is not something that happens often, but I am open to be proven wrong. This is most likely a hardware issue, but I really hope it is not.

My mac starts up with a blank white screen. There is no apple logo or error logo. Every one in ten”ish” times it will actually boot up after multiple times turning it off. When I am finally at my home screen it is extremely slow to run applications.(Even more so than it was prior to the problem)

I used command s to find out if there was an error in code, but even then it wouldn’t boot-up properly. When I did get it to work it showed this code

Code: AppleUSBMultitouchDriver: IOUSBHostHIDDevice: :start: unable to start IOHIDDevice HID: Legacy shim 2

This repeated many times.

If this is a hardware problem how can I replace the parts inside my Mac? I wanted to replace some of the parts anyway.

If this is a software problem how do I fix it?

Thank you guys,


What can I consider to help me decide whether the refactoring process of legacy code towards using modern OOP framework principles is worth it? [on hold]

I am refactoring old legacy code as part of my job. My chosen framework is Zend Expressive that runs on PHP, where I am using Zend Expressive Skeleton app (app provided by the maintainers) as a guideline. Zend Expressive among other coding constructs uses config, factories, handlers, view templates. I am then free to provide my own architecture, where I use repository and service layers.

In my case, what I mean by legacy code, is code with it’s own framework of sorts that in comparison to Zend Expressive mixes the following concepts into one file:

  • service creation
  • factories creation
  • request handler creation
  • repository calls in a form of global functions, which call the database
  • view templates, aka html/js/css is in the same file


What I do is a transformation of that described one file into the separate concepts (as ones above). This creates lots of separate files. It’s a sort of surgery-like extraction, where it takes time, and work and cognitive work – understanding how to name each file/class/object, how they are to connect, wire them up together and fix up any bugs that are created either due to incorrect extraction or due to the upgrades to the layer. i.e. I usually use new database layer that returns typed data rather than just strings. Some methods need to be updated to accept typed data that is not always a string.

I am trying to figure otu if doing so is “worth it”, since such transformation takes time, while functionality of the software effectively remains the same.


What factors can I consider when making a decision on whether such transformation (refactoring process) is worth doing?

Alternative to refactoring is to keep this legacy code as-is, and make changes to it without disturbing its original cohesive one-file structure.

Trying to dual boot Ubuntu 19.04 and windows 10 legacy. (Windows 7 upgrade)

So I’m trying to dual boot Ubuntu and Windows 10; but since I upgraded from Windows 7, my Windows 10 is in legacy mode. My original issue was Ubuntu being unable to find my Windows 10 installation when trying to install (I don’t want to erase Windows 10.) So I did some research and I’m pretty sure my issue is that my Ubuntu is in UEFI, which doesn’t match up with my Windows 10 Legacy. Every search is basically the opposite of my problem (trying to get their installation from Legacy to UEFI,) I need help making sure my Ubuntu remains legacy.

Anyone got any ideas? Am I using too new of a version of Ubuntu?