diff --git a/metropolis/test/launch/cli/launch-multi2/BUILD.bazel b/metropolis/test/launch/cli/launch-multi2/BUILD.bazel
index 9f27860..6507ae4 100644
--- a/metropolis/test/launch/cli/launch-multi2/BUILD.bazel
+++ b/metropolis/test/launch/cli/launch-multi2/BUILD.bazel
@@ -7,6 +7,7 @@
     visibility = ["//visibility:private"],
     deps = [
         "//metropolis/node:go_default_library",
+        "//metropolis/node/common/logbuffer:go_default_library",
         "//metropolis/proto/api:go_default_library",
         "//metropolis/test/launch:go_default_library",
         "@com_github_grpc_ecosystem_go_grpc_middleware//retry:go_default_library",
diff --git a/metropolis/test/launch/cli/launch-multi2/main.go b/metropolis/test/launch/cli/launch-multi2/main.go
index 265d6a0..1596e60 100644
--- a/metropolis/test/launch/cli/launch-multi2/main.go
+++ b/metropolis/test/launch/cli/launch-multi2/main.go
@@ -18,6 +18,8 @@
 
 import (
 	"context"
+	"fmt"
+	"io"
 	"log"
 	"os"
 	"os/signal"
@@ -28,10 +30,32 @@
 	"google.golang.org/grpc"
 
 	common "git.monogon.dev/source/nexantic.git/metropolis/node"
+	"git.monogon.dev/source/nexantic.git/metropolis/node/common/logbuffer"
 	apb "git.monogon.dev/source/nexantic.git/metropolis/proto/api"
 	"git.monogon.dev/source/nexantic.git/metropolis/test/launch"
 )
 
+// prefixedStdout is a os.Stdout proxy that prefixes every line with a constant
+// prefix. This is used to show logs from two Metropolis nodes without getting
+// them confused.
+// TODO(q3k): move to logging API instead of relying on qemu stdout, and remove
+// this function.
+func prefixedStdout(prefix string) io.ReadWriter {
+	lb := logbuffer.NewLineBuffer(2048, func(l *logbuffer.Line) {
+		fmt.Fprintf(os.Stdout, "%s%s\n", prefix, l.Data)
+	})
+	// Make a ReaderWriter from LineBuffer (a Reader), by combining into an
+	// anonymous struct with a io.MultiReader() (which will always return EOF
+	// on every Read if given no underlying readers).
+	return struct {
+		io.Reader
+		io.Writer
+	}{
+		Reader: io.MultiReader(),
+		Writer: lb,
+	}
+}
+
 func main() {
 	sigs := make(chan os.Signal, 1)
 	signal.Notify(sigs, syscall.SIGINT, syscall.SIGTERM)
@@ -50,7 +74,10 @@
 	}
 
 	go func() {
-		if err := launch.Launch(ctx, launch.Options{ConnectToSocket: vm0, SerialPort: os.Stdout}); err != nil {
+		if err := launch.Launch(ctx, launch.Options{
+			ConnectToSocket: vm0,
+			SerialPort:      prefixedStdout("1| "),
+		}); err != nil {
 			log.Fatalf("Failed to launch vm0: %v", err)
 		}
 	}()
@@ -86,7 +113,11 @@
 			GoldenTicket: res.Ticket,
 		}
 
-		if err := launch.Launch(ctx, launch.Options{ConnectToSocket: vm1, EnrolmentConfig: ec, SerialPort: os.Stdout}); err != nil {
+		if err := launch.Launch(ctx, launch.Options{
+			ConnectToSocket: vm1,
+			EnrolmentConfig: ec,
+			SerialPort:      prefixedStdout("2| "),
+		}); err != nil {
 			log.Fatalf("Failed to launch vm1: %v", err)
 		}
 	}()
